我应该在dealloc功能中发布IBOultet吗?

时间:2009-07-02 13:16:35

标签: iphone-sdk-3.0 memory-management memory-leaks dealloc

如果我的.h文件中有这样的内容:

@property (nonatomic,retain) IBOutlet UIButton *btnHelp;

我应该在.m文件的dealloc函数中释放吗?

1 个答案:

答案 0 :(得分:3)

如果你确实认为这个属性是可读写的,那么答案是肯定的 - dealloc必须释放btnHelp。在您的代码中,该属性使用“retain”进行注释。这意味着每当您的类的用户设置btnHelp属性时,您的类会向新属性值发送“保留”消息 - 使您的类负责在完成后发送“释放”消息。如果在类初始化代码中创建btnHelp,请确保将其保留在那里。

但是,如果您只想提供对从NIB文件加载的按钮的只读访问权限,则无需担心释放它 - 这是加载nib的对象的责任。在这种情况下,将'retain'替换为'readonly'。