是否声明Objective-C属性实际需要强大?

时间:2015-11-25 14:15:38

标签: ios objective-c memory-management declared-property

到目前为止,我的理解是(保留)增加了属性的引用计数,并且基本上与(强)完全相同。由于默认情况下所有属性都设置为保留(除非另有说明),因此需要添加(强):

@property(nonatomic, strong) NSString *name;

与:

相同
@property(nonatomic) NSString *name;

以上两者都是一样的吧?

2 个答案:

答案 0 :(得分:5)

自ARC推出以来," strong"," atomic"," readwrite"默认设置。

这些属性是等效的:

@property NSArray *name;
@property (strong, atomic, readwrite) NSArray *name;

来源:http://useyourloaf.com/blog/default-property-attributes-with-arc.html

答案 1 :(得分:0)

来自文档:

  

默认情况下,Objective-C属性和变量都保持强大   引用他们的对象。

所以两种形式都是一样的。