Iphone 当我使用.xib文件布局我的viewController iBaren';当视图控制器被释放时,t被释放

Iphone 当我使用.xib文件布局我的viewController iBaren';当视图控制器被释放时,t被释放,iphone,objective-c,xcode,interface-builder,Iphone,Objective C,Xcode,Interface Builder,我使用.xib来布局我的viewController,IB使用了10个IBMoutlet对象,没有一个对象分配了@properties(no@property(retain)IBMoutlet…)。当我释放viewController时,这些对象都没有被释放,我必须在viewController的解除锁定中手动释放它们 这看起来不像是正常的行为,我以为这些对象会被系统释放,因为IB是分配给它们的,我会做错什么呢?苹果会告诉你具体的操作方法 简言之,您应该在dealloc中发布它们,但您也希望在v

我使用.xib来布局我的viewController,IB使用了10个IBMoutlet对象,没有一个对象分配了@properties(no@property(retain)IBMoutlet…)。当我释放viewController时,这些对象都没有被释放,我必须在viewController的解除锁定中手动释放它们

这看起来不像是正常的行为,我以为这些对象会被系统释放,因为IB是分配给它们的,我会做错什么呢?

苹果会告诉你具体的操作方法

简言之,您应该在dealloc中发布它们,但您也希望在viewDidUnload中发布它们。

苹果公司会告诉您具体的操作方法


简而言之,您应该在dealloc中释放它们,但您也希望在viewDidUnload中释放它们。

啊,4.x中的这一新行为是不是因为我们有了viewDidUnload,并且它在3.x中仅用于为您处理它?它们被分配给您的ivar,所以您拥有它们,所以您必须释放它们。情况一直如此。在过去,泄漏没有检测到某些类型的垃圾(它永远不会检测到泄漏的UIImageView);也许他们解决了这个问题。我还强烈建议使用属性并改用
self.foo=nil
;当我看到代码在没有将IVAR设置为零的情况下发布IVAR时,我感到很害怕。谢谢,并同意:将东西设置为零。啊,4.x中的这种新行为是不是现在我们有了viewDidUnload,它过去只是在3.x中为您处理它?它们被分配给您的IVAR,所以您拥有它们,所以您必须发布它们。情况一直如此。在过去,泄漏没有检测到某些类型的垃圾(它永远不会检测到泄漏的UIImageView);也许他们解决了这个问题。我还强烈建议使用属性并改用
self.foo=nil
;当我看到代码没有将IVAR设置为零就发布了IVAR时,我很害怕。谢谢,我同意了:将事情设置为零。