有人能验证我的dealloc方法是正确的吗?因为我的titleLabel和checkImageView被保留下来了,所以我把它们释放出来。但是,我不会发布mainImageView、doneButton和noteLabel,因为它们在实现过程中不会被保留或分配。
@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];
发布于 2011-05-19 00:48:40
如果您通过Interface Builder连接这三个项目,则需要释放它们。默认情况下,将保留插座。KVC (键值编码)用于设置插座。这意味着loadFromNib
将为您设置的每个插座调用setValue:withKey
。这使用@property
和它的setter方法,但是如果没有设置(就像您的情况一样),它默认保留对象。
https://stackoverflow.com/questions/6048143
复制相似问题