任何人都可以验证我的dealloc方法是否正确?由于我的titleLabel和checkImageView被保留,我将在dealloc中释放它们。但是,我没有发布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];
答案 0 :(得分:4)
如果您通过Interface Builder连接这三个项目,则需要释放它们。默认情况下保留插座。 KVC(键值编码)用于设置插座。这意味着loadFromNib
会为您设置的每个商店调用setValue:withKey
。这使用@property
和它的setter方法,但是如果没有设置(就像你的情况一样),它默认保留对象。