我有一个非常经典的课程,其中包含按钮和标签等......:
@interface ExerciseViewController : UIViewController {
// Hardcoding for outlets to XIB file
// Outlets can be passed only as singe variables in Interface Builder.
// Therefore, we can only declare stupid variables, not arrays of buttons.
// Bid array
// Labels S,W,N,E
IBOutlet UILabel *labelSouth;
IBOutlet UILabel *labelWest;
IBOutlet UILabel *labelNorth;
IBOutlet UILabel *labelEast;
当然,所有这些属性都保留了:
@property (nonatomic, retain) IBOutlet UILabel *labelSouth;
我只想知道是否必须在我班级的dealloc方法中释放所有这些项目:
- (void)dealloc {
[super dealloc];
// Release all GUI objects;
那么,我应该拿走所有属性并向每个属性发送一个版本吗?我倾向于相信是的,但我更愿意问。
此致 Apple92
答案 0 :(得分:2)
是的,如果您retain
,则必须release
答案 1 :(得分:2)
如果您的班级正在保留某个对象,您将对其负责,并且必须在以后发布。这是保留/释放内存管理的基础。
答案 2 :(得分:0)
我的理解是,在处理来自XIB文件的对象时,您要将它们附加到的属性应该是(非原子的,赋值的),并且您不应该在dealloc中释放它们。原因是XIB加载系统负责对其创建的对象进行内存管理。