如果我声明一个实例变量
@implementation Person {
NSString *name; // would this be atomic, strong, readwrite?
}
它是否获得了相同的默认属性,就像我将其声明为属性一样(atomic
,strong
,readwrite
)
@interface Person()
@property NSString *name; // would be atomic, strong, readwrite by default
@end
答案 0 :(得分:2)
默认情况下,ivars和局部变量为strong
(在ARC下)。除非适用const
,否则变量是可读写的。并且变量访问是非原子的,除非采取特定步骤使访问成为原子。
基本上,ivars和局部变量表现为strong, non-atomic, read-write
。
答案 1 :(得分:1)
不。实例变量根本不会获取atomic
,strong
等属性 - 这些属性仅适用于属性。 (如果您使用ARC,它们将被视为strong
变量。)