首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >发布iVar IBOutlet vs Property IBOutlet

发布iVar IBOutlet vs Property IBOutlet
EN

Stack Overflow用户
提问于 2011-05-19 00:44:39
回答 1查看 697关注 0票数 1

有人能验证我的dealloc方法是正确的吗?因为我的titleLabel和checkImageView被保留下来了,所以我把它们释放出来。但是,我不会发布mainImageView、doneButton和noteLabel,因为它们在实现过程中不会被保留或分配。

代码语言:javascript
运行
复制
@interface CheckMarkController : UIViewController  <UIAlertViewDelegate> {
IBOutlet UIImageView *mainImageView;
IBOutlet UIButton *doneButton;
IBOutlet UILabel *noteLabel;
}

@property (nonatomic, retain) IBOutlet UILabel *titleLabel;
@property (nonatomic, retain) IBOutlet UIImageView *checkImageView;
@property (nonatomic, retain) Event *event;
@property (nonatomic, retain) Workout *workout;
@property (nonatomic, retain) NSManagedObjectContext *managedObjectContext;

@end

- (void)dealloc {
//props
[titleLabel release];
[checkImageView release];
[event release];
[workout release];
[managedObjectContext release];

[super dealloc];
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-19 00:48:40

如果您通过Interface Builder连接这三个项目,则需要释放它们。默认情况下,将保留插座。KVC (键值编码)用于设置插座。这意味着loadFromNib将为您设置的每个插座调用setValue:withKey。这使用@property和它的setter方法,但是如果没有设置(就像您的情况一样),它默认保留对象。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6048143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档