在Effective Objective-C 2.0中,有以下代码段:
@interface EOCClass : NSObject {
id _object;
}
@end
@implementation EOCClass
- (void)setup{
_object = [EOCOtherClass new];
}
@end
Run Code Online (Sandbox Code Playgroud)
然后,作者说:
"_object实例变量不会在手动引用计数下自动保留其值,但在ARC下也是如此."
我在XCode中测试了上面的代码片段,实例变量确实保留了值(即一切似乎都正常).
作者对上述句子的意思是什么?
小智 5
他的意思是:
_object实例变量不会在手动引用计数下自动保留其值,但在ARC下会保留.
就那么简单.如果这在MRC下工作,它的作用有一个原因:
[SomeClass new]
Run Code Online (Sandbox Code Playgroud)
相当于
[[SomeClass alloc] init]
Run Code Online (Sandbox Code Playgroud)
所以_object无论如何都会有一个参考数.
| 归档时间: |
|
| 查看次数: |
576 次 |
| 最近记录: |