Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 实例变量是否也获取默认属性属性?_Objective C - Fatal编程技术网

Objective c 实例变量是否也获取默认属性属性?

Objective c 实例变量是否也获取默认属性属性?,objective-c,Objective C,如果我声明一个实例变量 @implementation Person { NSString *name; // would this be atomic, strong, readwrite? } 它是否获得与我声明它为属性时相同的默认属性(atomic,strong,readwrite) 没有。实例变量根本不获取诸如原子的、强的等属性——这些只是应用于属性的属性。(如果使用ARC,它们将被视为strong变量。)默认情况下,IVAR和局部变量是strong(在ARC下)。除非适

如果我声明一个实例变量

@implementation Person {
    NSString *name;    // would this be atomic, strong, readwrite?
}
它是否获得与我声明它为属性时相同的默认属性(
atomic
strong
readwrite


没有。实例变量根本不获取诸如
原子的
强的
等属性——这些只是应用于属性的属性。(如果使用ARC,它们将被视为
strong
变量。)

默认情况下,IVAR和局部变量是
strong
(在ARC下)。除非适当使用
const
,否则变量是读写的。变量访问是非原子的,除非采取具体步骤使访问原子化


因此,本质上,IVAR和局部变量的行为是
强、非原子、读写

,而IVAR没有像属性那样的“属性”,默认情况下,IVAR是
,可以应用修饰符来更改默认值。@rmaddy:在ARC下,它们被视为强。我会更新回复。关于ARC的澄清很好。
@interface Person()
@property NSString *name;    // would be atomic, strong, readwrite by default
@end