【问题标题】:Assigning an autoreleased object to a retained property将自动释放的对象分配给保留的属性
【发布时间】:2012-02-16 14:15:20
【问题描述】:

我的自定义 UITableViewCell 类 (MyTableCell) 中有一个名为 bgImage 的属性。它的声明像

@property (nonatomic, retain) UIImageView *bgImage;

在MyTableCell的dealloc方法中,我释放btImage

[bgImage release];
self.bgImage = nil;
[super dealloc];

现在我对 cellForRowAtIndexPath 中的这个 bgImage 所做的就是为它分配一个自动释放的对象

myTableCell.bgImage.image = [Util imageNamedNoCache:@"image.png"];

其中 imageNamedNoCache 返回自动发布的图像。

我的问题是我在 MyTableCell 的 dealloc 方法中得到了 EXC_BAD_ACCESS。 谁能告诉我为什么会得到这个?

最好的问候

【问题讨论】:

    标签: objective-c release exc-bad-access autorelease


    【解决方案1】:

    你在 dealloc 中释放了两次bgImage,这就是你得到EXC_BAD_ACCESS 的原因。 你自己释放它,当你做self.bgImage = nil;时它在生成的setter方法中释放它@

    【讨论】:

      猜你喜欢
      • 2011-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多