保留分配给保留属性的分配对象的数量
问题描述:
在下面的代码中,我期望保留计数增加到2,但在赋值后它保持为1。赋值是带有保留限定符的属性。保留将使对象的保留计数递增1.任何人都可以解释为什么保留计数不会增加?保留分配给保留属性的分配对象的数量
MyClass.h:
@property (nonatomic,retain) UIImage * imageBackground;
MyClass.m:
UIImage * IMAGE = [[UIImage alloc] initWithContentsOfFile:@"image.png"];
NSLog(@"retain-count(%d)", [IMAGE retainCount]); // returns 1
imageBackground = IMAGE;
NSLog(@"retain-count(%d)", [IMAGE retainCount]); // returns 1, should return 2
答
self.imageBackground = IMAGE;
没有self.
您不使用酒店的二传手,从而保留计数,因为不会改变这只是一个简单的指针分配给伊娃。
谢谢!这是一个解决了我的代码中的很多问题的答案,我一直在摸索它几个小时! – andrewz 2011-03-16 07:58:57