- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
_testObject = [[TestObject alloc] init];
NSLog(@"_testObject rc = %d", _testObject.retainCount);
NSLog(@"testObject rc = %d", self.testObject.retainCount);
}而testObject是
@property (retain) TestObject *testObject;为什么这些NSLog()的输出分别是1和2?属性和底层对象的retainCount是否不同?
发布于 2012-02-09 22:41:16
我猜这是因为你的属性没有被定义为nonatomic,所以你会得到一个保留/自动释放的对象。尝试将您的属性声明更改为:
@property (retain, nonatomic) TestObject *testObject;https://stackoverflow.com/questions/9212672
复制相似问题