当我有一个SKScene时,是否更适合用于评分、生命计数精灵等的变量,将它们声明为属性,或者在@implementation中将它们声明为变量。我知道属性的内存管理,但是当对象被声明为经典变量时,我如何释放对象呢?如果SKScene被释放,它们是否会从内存中释放,或者我是否必须以某种特殊的方式处理它们(将它们设置为零或类似的值)。我所关心的只是它们的内存管理。更好的是-属性,还是变量。谢谢。
发布于 2014-09-06 08:32:05
这完全取决于什么将使用这些变量。如果它们是完全私有的,那么我会在实现文件中的私有类别中声明它们:
@interface MySceneClass ()
{
unsigned _score;
NSTimeInterval _ticker;
}
但是,如果其他类需要读/写它们,请使用属性:
@interface MySceneClass : SKScene
@property (assign, readonly) unsigned score;
@property (assign) NSTimeInterval ticker;
就内存管理而言,它们在使用ARC时几乎是相同的。编译器将处理对象的释放。
https://stackoverflow.com/questions/25698210
复制