iOS.-.cxx_destruct
-.cxx_destruct 方法: 该方法是由编译器生成的方法。
1. “ARC actually creates a -.cxx_destruct
method to handle freeing instance variables. This method was originally created for calling C++ destructors automatically when an object was destroyed. The visible difference of this with ARC is that Objective-C instance variables are now deallocated after -dealloc
in the root class has finished, not before. In most cases, this should make no difference.” R[1]
2. R[2] 链接中的内容充分说明了: "-.cxx_destruct" 是在其父类(这里可能有出入)的dealloc被调用后才被调用的。
Reference:
1. Objective-C Phrase Book, Second Edition
http://my.safaribooksonline.com/book/programming/objective-c/9780132908641/3dot-memory-management/ch03
2. Effective Objective-C 2.0: 52 Specific Ways to Improve Your iOS and OS X
Item 30: Use ARC to Make Reference Counting
http://books.google.com.hk/books?id=qp4ZXAmGaoQC&pg=PT185&lpg=PT185&dq=iOS+.cxx_destruct+crash&source=bl&ots=tYmMdkMg2t&sig=Jk4L0lHPTy8nPVfIEPUmkR7zNrE&hl=en&sa=X&ei=ZTJuUt3TA8SOkwXXvYDACQ&ved=0CGgQ6AEwCQ#v=onepage&q=.cxx_destruct&f=false
3. http://sweettolife.com/questions/12562058/arc-converted-app-crashing-with-last-call-to-cxx-destruct
iOS.-.cxx_destruct的更多相关文章
- iOS ARC下dealloc过程及.cxx_destruct的探究
前言 这次探索源自于自己一直以来对ARC的一个疑问,在MRC时代,经常写下面的代码: 1 2 3 4 5 6 7 8 9 - (void)dealloc { self.array = nil; ...
- iOS:runtime最全的知识总结
runtime 完整总结 好东西,应该拿出来与大家分享... 南峰子博客地址:http://southpeak.github.io/blog/categories/ios/ 原文链接:http://w ...
- iOS 开发中遇到的问题
1. 关于纠结很久的KVO崩溃问题,其真正原因是,在删除roomItem的KVO之前,将这个对象已经赋值为nil,所以实际上并没有删除他的observer,因此而崩溃:长时间纠结的原因是受.cxx_d ...
- iOS RunTime你知道了总得用一下
说点题外话: 我刚来现在这家公司的时候,老板让我下载一个脉脉,上去找找自己的同行,多认识些同行.其实初衷的好的,但最近这两天我把它卸载了,不为别的,负能量太多!iOS这行自从2016就没景气过,在这行 ...
- iOS设备的标识---UUID和IDFA
一:1.1 :UDID 简介:UDID的全称是Unique Device Identifier,顾名思义,它就是苹果IOS设备的唯一识别码,它由40个字符的字母和数字组成.在很多需要限制一台设备一个账 ...
- iOS内存管理(objective-c)
移动app开发中,由于移动设备内存的限制,内存管理是一个非常重要的话题.objective-c的内存管理,不仅是面试当中老生常谈的一个必问话题,也是日常项目开发中,特别需要重视的环节.对于笔者这种以j ...
- iOS - Target-Action机制创建自己的UI控件需要了解的知识
我们在开发应用的时候,经常会用到各种各样的控件,诸如按钮(UIButton).滑块(UISlider).分页控件(UIPageControl)等.这些控件用来与用户进行交互,响应用户的操作.我们查看这 ...
- iOS isa 和 Class
一.Runtime 简介 Runtime 又叫运行时,是一套底层的 C 语言 API,是 iOS 系统的核心之一.开发者在编码过程中,可以给任意一个对象发送消息,在编译阶段只是确定了要向接收者发送这条 ...
- iOS 编译过程原理(1)
一.前言 一般可以将编程语言分为两种,编译语言和直译式语言. 像 C++.Objective-C 都是编译语言.编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在 CPU 上执行,所以 ...
随机推荐
- thymeleaf 的内置对象
- 抢红包js程序
https://www.cnblogs.com/miid/p/5192235.html <!DOCTYPE html> <html> <head> <meta ...
- Oracle监听程序未启动或数据库服务未注册到该监听
oracle新建数据库的时候提示Could not find appropriate listener for this database要做的操作如下: 1.查看netmanager里面的liste ...
- SQL左外连接
第一篇写在网络上的笔记 左外连接 select a.*,b.* from a left join b on a与b的连接条件; 先展示left join关键字左边的a表中的所有数据,根据条件关联查询l ...
- MFC笔记1
1.在对话框文档中定义两个定时器,每间隔5秒弹出一个消息框提示“定时器1”,每隔5秒弹出一个消息框提示“定时器2” UINT ID_TIMER1 = 1 , ID_TIMER2 = 2; //设置 ...
- python list 常用
l = [,,,] b = [,,] l.remove() #val del l[] #key new_list = l.extend(b) #[,,,,,,] new_list = l.append ...
- 04_web基础(八)之车票实现增删改查初级版本
43.web页面显示车票列表简略完成 代码: 控制层代码 package com.day03.station.controller; import com.day03.station.model.Ti ...
- 使用Java实现对一个数组的增删改查以及初始化
import java.util.*; import java.lang.*; public class Array { private int[] data;// 数组 private int si ...
- DIV实现垂直居中的几种方法
说道垂直居中,我们首先想到的是vertical-align属性,但是许多时候该属性并不起作用.例如,下面的样式并不能达到内容垂直居中显示 div { width:200px; height:300px ...
- java 反编译工具
(1)点击进入>> https://jingyan.baidu.com/article/3f16e003c857082590c1036f.html (备注:如果以上链接的资源不能下载, ...