我使用IB创建了一些UIView
对象并使用IBOutlet
链接到我的代码。
以下部分样本:如何释放由ib
1. IBOutlet UIView *view1;
2. IBOutlet UIView *view1; @property(retain) UIView *view1;
3. UIView *view1 ; @property(retain) IBOutlet UIView *view1;
有什么区别?我应该release
他们手动?
感谢您的帮助。
我使用IB创建了一些UIView
对象并使用IBOutlet
链接到我的代码。
以下部分样本:如何释放由ib
1. IBOutlet UIView *view1;
2. IBOutlet UIView *view1; @property(retain) UIView *view1;
3. UIView *view1 ; @property(retain) IBOutlet UIView *view1;
有什么区别?我应该release
他们手动?
感谢您的帮助。
为Xcode的标识从财产申报笔尖的控制,而不是从内部类的声明,您应该手动删除它....
你的第三个语句将正常工作......。
(在A面类)
IBOutlet UIView *view1;
界面生成可能是因为它被声明只在类中不会承认它作为IBOutlet中。 (类变量是受保护)
IBOutlet UIView *view1; @property(retain) UIView *view1;
界面生成器,因为它是唯一的声明里面的类可能不会将其识别为IBOutlet中。 (类变量受保护)
3. UIView *view1 ; @property(retain) IBOutlet UIView *view1;
正确的方式界面生成器会识别它。它会显示它,当你连接你的接口的引用插座生成器
请访问here。
您需要手动释放所有IBOutlets的
dealloc
和unload
设置为零。
嗨,你可以释放它们在dealloc方法手动。
- (void)dealloc {
[view1 release];
[view2 release];
[super dealloc];
}
,一定不要调用[超级的dealloc]第一。这总是最后。你拆掉你的子类的状态,然后*让对象被销毁。 – 2011-03-07 06:50:36
实际上,他们所有的工作,所以我很困惑 – ywss 2011-03-07 07:13:54