Toa*_*tor 56 properties objective-c ivar automatic-ref-counting
我的理解是,现在设置一个ivar会保留分配给它的对象,因为设置变量默认为strong
限定符.因为ivars属于对象的范围,它们被声明并strong
保留变量范围内的对象,这意味着当包含ivar的对象仍然存活时,永远不会释放ivars值.
它是否正确?
如果是这样,我是否正确地认为,就记忆管理而言,保留(强)财产和简单的伊娃之间没有区别?
bea*_*ain 70
如果变量:
然后将其声明为没有相应的@property
/ 的ivar @synthesize
,并在实现中直接引用它.它与Encapsulation内联,以在类实现文件中声明此ivar.
// MyClass.h
@interface MyClass : ParentClass
@end
// MyClass.m
@implementation MyClass {
NSString *myString;
}
- (void)myMethod {
myString = @"I'm setting my ivar directly";
}
@end
Run Code Online (Sandbox Code Playgroud)
__strong
ARC编译器处理. nil
如果它是一个对象,或者0
它是一个原始对象,它将被初始化.