如果我将一些接口构建器对象作为实例变量绑定到另一个对象,是否需要在父对象的dealloc方法中释放它们?重要的是,我在(非原子,保留)模式下使用键值编码(@property)声明我的IBOutlets。在我的理论中,IBOutlet对象是在调用我的视图控制器的initWithNibName:...方法时创建的,并且它由父对象保留,因为我在保留模式下实现了@property方法。它是否正确?如果我在赋值模式下实现该方法呢?
答案 0 :(得分:2)
绝对正确。您必须在dealloc,IBOutlet中释放(保留)属性。这样就明确了IBOutlets的内存管理。
如果您从已保留的对象(例如,其他保留的视图的子视图)中连接IBOutlet,您还可以使用(assign)您的属性(当然,不会在dealloc中释放它们)。