首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >强标识符是@property语句的默认值吗?

强标识符是@property语句的默认值吗?
EN

Stack Overflow用户
提问于 2012-07-19 08:27:54
回答 2查看 10K关注 0票数 21

我正在学习Objective-C和Cocoa Framework (通过Aaron Hillgass的书),并试图弄清楚为什么下面一行包含“强”标识符。

代码语言:javascript
复制
@property (strong) NSManagedObjectContext *managedObjectContext;

据我所知,strong是默认值,所以为什么我需要显式声明它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-19 08:34:57

你可以不写任何东西就声明它,但是当你回到代码或者其他开发人员查看你的代码时会发生什么呢?

您可能知道默认值将被设置为strong,但初级程序员将会非常困惑,无法确定声明的变量是强还是弱。

票数 23
EN

Stack Overflow用户

发布于 2014-07-09 03:57:36

同意Richard的观点。

//强引用和弱引用ARC引入了两个新的对象引用限定符:强和弱。

在ARC下,默认情况下所有对象引用变量都是强的。这不仅仅适用于属性;@property语句的默认标识符分配给非对象类型,对象类型应该是强的。所有对象引用-属性值、实例变量、自动变量、参数变量和静态变量-在ARC下的行为类似于保留属性。

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

https://stackoverflow.com/questions/11552317

复制
相关文章

相似问题

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