【问题标题】:Should I release a IBOultet in my dealloc function?我应该在我的 dealloc 函数中释放一个 IBOultet 吗?
【发布时间】:2009-07-02 13:16:34
【问题描述】:

如果我的 .h 文件中有类似的内容:

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

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

【问题讨论】:

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


    【解决方案1】:

    如果您确实打算将此属性设为可读写,那么答案是肯定的——dealloc 必须释放 btnHelp。在您的代码中,该属性带有“保留”注释。这意味着每次您的班级的用户设置 btnHelp 属性时,您的班级都会向新的属性值发送“保留”消息——让您的班级负责在完成时发送“释放”消息。如果您在类初始化代码中创建 btnHelp,请确保您也将其保留在那里。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-12
      • 2011-06-13
      • 2011-04-27
      • 2011-03-21
      • 2017-04-01
      相关资源
      最近更新 更多