【发布时间】:2011-07-30 07:34:24
【问题描述】:
.h
@ interface MyClass : NSObject {
UILabel *mTextLabel;
}
@property (nonatomic, retain) UILabel *mTextLabel;
并在 MyClass.m 中声明 @synthesize mTextLabel;
然后像这样释放对象。
[self setMTextLabel:nil];
[mTextLabel release];
NSLog (@"%d",[mTextLabel retainCount]);
这个结果是0。我没有发现任何错误或中断。
但是。当我像这样发布 mTextLabel 时。我刚刚得到了 EXC_BAD_ACCESS
[mTextLabel release];
[self setMTextLabel:nil];
我不明白为什么会这样。请帮帮我。
【问题讨论】:
-
如果你使用
self.mTextLabel = nil,也会发生同样的情况吗? -
嗯...现在我使用
mTextLabel = nil谢谢。 -
保留计数永远不能为零。永远不应该调用retainCount。没用。
标签: iphone properties release