我是否可以释放对象实例的不再需要的属性而不必担心dealloc将在以后"过度释放"它?

Mon*_*urd 1 objective-c

我有一个对象"myObject"的实例,它有一些UIImage对象作为属性.在我第一次访问这些属性后,我真的不再需要它们了.

我可以在实例本身发布之前对实例的UIImage属性进行发布,还是稍后在"myObject"dealloc发布它们时会过度释放UIImage属性?

Rob*_*ier 6

每次释放仍在范围内的变量时,都应立即将其设置为nil.这将避免您正在讨论的问题-dealloc.实现这一目标的最佳方法是始终使用访问器.如果您使用访问者,那么呼叫self.foo=nil将为您处理一切.