将自动释放的对象分配给保留的属性

时间:2012-02-16 14:15:21

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

我的自定义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。 谁能告诉我为什么我会这样做?

最好的问候

1 个答案:

答案 0 :(得分:1)

您在dealloc中发布了bgImage两次,这就是您获得EXC_BAD_ACCESS的原因。 您自己发布它,并在执行self.bgImage = nil;

时以生成的setter方法发布