【发布时间】:2009-07-02 13:16:34
【问题描述】:
如果我的 .h 文件中有类似的内容:
@property (nonatomic,retain) IBOutlet UIButton *btnHelp;
应该在.m文件的dealloc函数中释放吗?
【问题讨论】:
标签: iphone-sdk-3.0 memory-management memory-leaks dealloc
如果我的 .h 文件中有类似的内容:
@property (nonatomic,retain) IBOutlet UIButton *btnHelp;
应该在.m文件的dealloc函数中释放吗?
【问题讨论】:
标签: iphone-sdk-3.0 memory-management memory-leaks dealloc
如果您确实打算将此属性设为可读写,那么答案是肯定的——dealloc 必须释放 btnHelp。在您的代码中,该属性带有“保留”注释。这意味着每次您的班级的用户设置 btnHelp 属性时,您的班级都会向新的属性值发送“保留”消息——让您的班级负责在完成时发送“释放”消息。如果您在类初始化代码中创建 btnHelp,请确保您也将其保留在那里。
但是,如果您只想为从 NIB 文件加载的按钮提供只读访问权限,则无需担心释放它 - 这是加载 nib 的对象的责任。在这种情况下,将 'retain' 替换为 'readonly'。
【讨论】: