- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在 viewDidLoad
方法中注册了一个 NSNotification。
我是否应该使用下面的代码在 viewDidUnload
和 dealloc
方法中注销它?
[[NSNotificationCenter defaultCenter] removeObserver:self];
谢谢。
最佳答案
是的,你应该。释放 View Controller 时不会调用 viewDidUnload。
因为 viewDidLoad 在 View Controller 打开时被调用,人们有时会错误地认为它的对立面 (viewDidUnload) 在屏幕关闭时被调用。事实并非如此,viewDidUnload 仅用于低内存情况。
这就是为什么我们也需要取消注册 dealloc 中的通知。
关于iphone - 我应该在 viewDidUnload 和 dealloc 中注销 NSNotification 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9907593/
模板似乎创建了 [super viewDidUnload] 但代码示例显示: [super dealloc] 有区别吗? 最佳答案 您应该只调用父类(super class)的 -viewDidUnl
我的问题是这样的: 父类加载 subview 。 子级在执行操作期间使用“removeFromSuperView”删除自身。 当子类被移除时,父类会获得委托(delegate)调用,从而使子对象为零。
也许这是一个不好的做法,但从我阅读的文档中,我得到了在某些情况下在 viewDidLoad 方法内初始化对象并在 viewDidUnload 中将其置零的建议。 例如,如果您有添加观察者之类的内容 [
我知道以前有人问过类似的问题。但是我已经搜索了一段时间了,事情仍然有些困惑。所以这里... 我没有使用 ARC。 如果您有一个带有实例变量和如下属性的 View Controller : View C
我在读一本书,它建议将我的 IBOutlets 声明为 weak 应该可以解决当我的应用程序收到内存不足警告时的问题。例如,我现在不再需要在 viewDidUnload 方法中将这些 socket 设
viewDidUnload 的最佳实践是什么?仅将 IBOutlets 设置为 nil 还是将每个实例变量也设置为 nil(之前释放)? 提前致谢。 最佳答案 在设置为 nil 之前释放实例变量。不过
在我的应用程序中,我有一个 UIImagePicker,它不断抛出内存警告级别 1(最低)。然后它不断搞乱我的应用程序,因为它正在调用 viewdidunload 或 viewwillunload。当
我正在尝试禁用选项卡栏上除第一个选项卡之外的所有选项卡。我想出了这段代码: -(void)disableMainTabBar{ [self setSelectedIndex:0];
我试图弄清楚如何挂接到控件的 super View 上的ViewDidUnload。为了说明我为什么需要这个,请考虑我的 ControlFactory 类,它生成 UIButton(以及其他控件):
我一直在阅读“iPhone 4 开发入门”一书,他们有一个使用导航 Controller 的教程。在本教程中,我们将 View Controller (名为 childController)推送到 V
注意:我看到前面有人问了几个问题,但似乎没有一个能澄清我的疑问。 在 iOS6 之前,所有 socket ,图像和声音等大量资源在 viewDidUnload 中设置为 nil。在 iOS6 之后,情
如果我有一个 viewController 设置如下: @interface MapViewController : UIViewController { CLLocationManager
我是 iPhone 开发新手。 我在我的应用程序中使用一些按钮和标签。我将在 dealloc 函数中释放所有这些按钮和标签。 我也在 viewDidUnload 中释放它们。 - (void)view
摘自 Apple 的 View Controller 编程指南/高效管理内存; didReceiveMemoryWarning Use this method to deallocate all no
我倾向于在 -dealloc 中释放我的东西,现在 iPhone OS 3.0 引入了这个有趣的 -viewDidUnload 方法,他们说: // Release any retained subv
注意:此问题已过时 - viewDidUnload 已在 iOS 6 中弃用。 什么时候UIViewController的viewDidUnload会自动被调用?是的,我知道,当 View 卸载时。但
我刚刚安装了新版本的Xcode/ios6。 viewDidUnload 现已弃用。 在苹果文档中, viewDidUnload [...] Deprecated in iOS 6.0. Views a
当我移动到另一个 View 时,我可以使用哪种方法来捕获事件? 到目前为止我尝试过但没有成功的方法:viewWillDisappear: , willMoveToParentViewControlle
我一直在开发一个应用程序,我读的书说将这些语句放入 viewDidUnload 和 dealloc 方法中。还有什么其他信息应该放在这里?我的程序中有按钮和标签。我需要为他们做些什么吗? 我想要一个高
我遇到了一个非常有趣的情况,不知道如何解决它。我将首先概述我的程序的体系结构。我有一个 UITableViewController 派生类,它也实现了我的委托(delegate)协议(protocol
我是一名优秀的程序员,十分优秀!