首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >属性与变量

属性与变量
EN

Stack Overflow用户
提问于 2014-09-06 16:01:27
回答 1查看 51关注 0票数 0

当我有一个SKScene时,是否更适合用于评分、生命计数精灵等的变量,将它们声明为属性,或者在@implementation中将它们声明为变量。我知道属性的内存管理,但是当对象被声明为经典变量时,我如何释放对象呢?如果SKScene被释放,它们是否会从内存中释放,或者我是否必须以某种特殊的方式处理它们(将它们设置为零或类似的值)。我所关心的只是它们的内存管理。更好的是-属性,还是变量。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-09-06 16:32:05

这完全取决于什么将使用这些变量。如果它们是完全私有的,那么我会在实现文件中的私有类别中声明它们:

代码语言:javascript
代码运行次数:0
运行
复制
@interface MySceneClass ()
{
    unsigned _score;
    NSTimeInterval _ticker;
}

但是,如果其他类需要读/写它们,请使用属性:

代码语言:javascript
代码运行次数:0
运行
复制
@interface MySceneClass : SKScene

@property (assign, readonly) unsigned score;
@property (assign) NSTimeInterval ticker;

就内存管理而言,它们在使用ARC时几乎是相同的。编译器将处理对象的释放。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25698210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档