【问题标题】:Retain count of allocated object assigned to a retained property分配给保留属性的已分配对象的保留计数
【发布时间】:2011-03-16 07:44:52
【问题描述】:

在下面的代码中,我希望保留计数增加到 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

【问题讨论】:

    标签: objective-c uiimage retaincount


    【解决方案1】:
    self.imageBackground = IMAGE;
    

    如果没有self.,您就不会使用属性的设置器,因此保留计数不会改变,因为这只是对 ivar 的简单指针分配。

    【讨论】:

    • 谢谢!这是一个解决了我的代码中很多问题的答案,我已经为它挠了好几个小时了!
    猜你喜欢
    • 1970-01-01
    • 2019-06-16
    • 1970-01-01
    • 2012-06-21
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 2010-12-15
    • 2016-12-14
    相关资源
    最近更新 更多