当我有一个SKScene时,对于我用于评分,生命计数精灵等的变量,将它们声明为属性或在@implementation中将它们声明为变量更好。我知道属性的内存管理,但是当它们被声明为经典变量时,我如何释放它们。如果SKScene被释放,他们会从记忆中释放,还是我必须以某种特殊的方式照顾他们(将他们设置为零或类似的东西)。我关心的只是内存管理。什么是更好的 - 属性或变量。 谢谢。
答案 0 :(得分:1)
这完全取决于将要使用这些变量的内容。如果它们完全是私有的,那么我会在实现文件中将它们声明为私有类:
@interface MySceneClass ()
{
unsigned _score;
NSTimeInterval _ticker;
}
但是,如果其他类需要读/写它们,请使用属性:
@interface MySceneClass : SKScene
@property (assign, readonly) unsigned score;
@property (assign) NSTimeInterval ticker;
就内存管理而言,使用ARC时它们几乎相同。编译器将处理释放对象。