当我使用界面构建器创建一个插座时,xcode会在我的vIEwController中添加两行代码.一个在vIEwDIDUnload中: – [self setMyOutlet:nil]和dealloc中的第二个 – [myOutlet release].
我理解后者(发布).但是为什么在vIEwDIDUnload中将插座设置为nil.是不是在dealloc之前调用vIEwDIDUnload并且不会将出口设置为nil否定dealloc中的释放 *** 作?设置为nil有意义我会考虑构建一个使用垃圾收集的Mac应用程序 – 但它对iPhone应用程序没有意义.
为什么界面构建器会这样做?我应该删除将出口设置为零的行吗?
@H_419_4@解决方法 可以调用vIEwDIDUnload,也可以不调用它.这取决于当前的内存使用情况. dealloc是一个你应该清理所有属性的地方(比如数组,自定义对象).在vIEwDIDUnload中,您可以清理视图以及为支持视图而创建的对象. vIEwDIDUnload意味着您的视图被卸载(但不是整个视图控制器),并且可能在将来再次创建和加载(当然在vIEwDIDLoad中).>为什么没有 – Objective-C Difference between setting nil and
releasing
> Understanding How Views Are Loaded and Unloaded
以上是内存溢出为你收集整理的objective-c – Interface Builder将控制插座设置为nil – 为什么?全部内容,希望文章能够帮你解决objective-c – Interface Builder将控制插座设置为nil – 为什么?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)