线程安全 在iOS开发中经常会遇到一块资源被多个线程共享的情况,也就是多个线程会访问同一块资源,比如多个线程访问同一个对象、同一个变量、同一个文...
RunLoop:运行循环,可以让程序不会马上退出,而是保持运行状态 , RunLoop的基本作用 保持程序的持续运行 处理app中的各种事件(触...
objc_msgSend执行流程 OC中的方法调用,其实都是转换为objc_msgSend函数的调用 在底层会这么调用objc_msgSend(...
Objective-C是一门动态性比较强的编程语言,跟C、C++等语言有着很大的不同,Object-C的函数调用不是在编译时期决定的,而是在运行...
block本质上也是一个OC对象,它内部也有个isa指针,block是封装了函数调用以及函数调用环境的OC对象。 Block的底层结构 bloc...
Category VS Extension Category category只能给某个已有的类扩充方法,不能扩充成员变量 category中也...
laod和initialize +load +load方法会在runtime加载类、分类时调用,每个类、分类的+load,在程序运行过程中只调用...
KVO KVO的全称是Key-Value Observing,俗称“键值监听”,可以用于监听某个对象属性值的改变,被监听的类会创建继承于被监听类...
1.一个NSObject对象占用多少内存 NSObject *obj = [[NSObject alloc] init];,obj占16个字节,...