zoukankan      html  css  js  c++  java
  • iOS6取消viewDidUnload的原因和解决方案

    一直以来我们会在viewDidUnload方法中做一些清空outlet或者移除observer的事情。在viewDidUnload中清理observer其实并不是很安全,因此在iOS5中Apple引入了viewWillUnload,建议开发者们在viewWillUnload的时候就移除observer。而对于出现内存警告时,某些不用的view将被清理,这时候将自动意外执行viewWillUnload和viewDidUnload,很可能造成莫名其妙的crash,而这种内存警告造成的问题又因为其随机性难以debug。

    于是Apple这次做了一个惊人的决定,直接在iOS6里把viewWillUnload和viewDidUnload标注为了Deprecated,并且不再会调用他们。绝大部分开发者其实是对iOS3.0以来就伴随我们的viewDidUnload是有深深的感情的,但是现在需要和这个方法说再见了。

    官方ViewController programming guide 上说,在iOS6以后要这样干:

    - (void)didReceiveMemoryWarning
    {
        [super didReceiveMemoryWarning];
        // Add code to clean up any of your own resources that are no longer necessary.
        if ([self.view window] == nil)
        {
            // Add code to preserve data stored in the views that might be
            // needed later.

            // Add code to clean up other strong references to the view in
            // the view hierarchy.
            self.view = nil;
        }
    }

  • 相关阅读:
    AI 最小二乘法
    AI 前馈神经网络
    AI 雅可比(Jacobian)矩阵
    AI 递归神经网络(RNN)
    AI 循环神经网络(RNN)
    js操作地址栏
    JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
    php实现的三个常用加密解密功能函数示例
    php 获取URL 各部分参数
    PHP实现队列及队列原理
  • 原文地址:https://www.cnblogs.com/yy3026906/p/2966703.html
Copyright © 2011-2022 走看看