如何释放由ib创建的控件

时间:2011-03-07 06:31:49

标签: iphone objective-c ipad iboutlet

我使用IB创建了一些UIView个对象,并使用IBOutlet链接到我的代码。
以下一些示例:

1.  IBOutlet  UIView *view1;

2.  IBOutlet  UIView *view1;  @property(retain)  UIView *view1;

3.  UIView *view1 ;  @property(retain) IBOutlet UIView *view1;

有什么区别?我应该手动release吗? 谢谢你的帮助。

4 个答案:

答案 0 :(得分:1)

你应该手动删除它....

你的第三个语句可以正常工作......因为Xcode从其属性声明中识别出nib控件,而不是从类声明中识别出来。

(在旁边课程中)

IBOutlet  UIView *view1;

接口构建器可能不会将其识别为IBoutlet,因为它仅在类中声明。 (类变量受保护)

IBOutlet  UIView *view1;  @property(retain)  UIView *view1;

接口构建器可能不会将其识别为IBoutlet,因为它仅在类中声明。 (类变量受保护)

3.  UIView *view1 ;  @property(retain) IBOutlet UIView *view1;

正确的方式接口构建器将识别它。当您从“界面”构建器

连接引用插座时,它将显示它

答案 1 :(得分:0)

请访问here

答案 2 :(得分:0)

您需要手动释放

中的所有IBOutlet

dealloc并在unload中将其设置为零。

答案 3 :(得分:-1)

您可以手动以dealloc方式释放它们。

- (void)dealloc {
  [view1 release];
  [view2 release];
  [super dealloc];

}