当调用dealloc方法的时候,执行顺序可以在源码中查找如下(objc源码):1....
- (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UI...
一:KVO 在实际的开发过程中,我们可能会遇到这种需求,就是需要根据一个对象某个属性值的改变,来作出不同的处理。但是实现起来比较麻烦,需要在很多地方进行判断处理,为了方便我们的开...
一:block的本质1. block本质上是一个OC对象,它内部有个isa指针2. block是封装了函数调用以及函数调用环境的OC对象3.&nbs...
- (void)viewDidLoad { [super viewDidLoad]; Class KSObj = objc_allocateClas...
RunLoop一、基础理论顾名思义1. 运行循环2. 在程序运行过程中循环做一些事情3. 是用户态和内核态之间的交互模式应...
举例一:- (void)viewDidLoad { [super viewDidLoad]; dispatch_queue_t queue = di...
多线程常见方案一、GCD的函数:GCD中有2个用来执行任务的函数queue:队列block:任务1. 用同步的方式执行任务dispatch_sync(di...
一:Category的底层结构定义在objc-runtime-new.h中:struct category_t { const char *name;  ...