数据结构 objc_object objc_class isa指针 method_t objc_object id == objc_object...
数据结构 objc_object objc_class isa指针 method_t objc_object id == objc_object...
block的内存管理 (1)block copy操作 当block在栈上时,并不会对__block变量产生强引用 当block被copy到堆时,...
(一)copy ARC环境下,编译器会根据情况自动将stackblock进行copy操作,复制到堆上 block作为函数返回值时 将block赋...
(一)block 捕获变量类型 为了保证block内部能够正确访问外部的变量,block有一个变量捕获机制 (1)变量捕获为auto 转为C++...
(一)Block的常见问题 首先我们先看下面几个问题: block的原理是怎样的?本质是什么? __block的作用是什么?有什么使用注意点? ...
(一)KVC (Key-Value Coding) KVC,即键值编码,通过key来访问属性。KVC依赖于Runtime,在Objective-...
(一)KVO(Key-Value Observing) KVO,即键值监听,可以用于监听某个对象属性值的改变 (1)KVO的常用监听方法及特点 ...
(一)isa指针 我们在前面几章一直提到isa指针,isa指针是三种对象中都有的成员变量,那么三种对象的isa指针有没有什么区别?指向哪里呢?我...
(一)对象的分类 OC中的对象,主要有3种:instance对象(实例对象)、class对象(类对象)、meta-class对象(元类对象),我...
我们现在main.m文件中定义Student对象,如下: (一)OC对象的内存分配 和上一章一样,转换为C++代码,过程不再赘述,我们找到Stu...