
Runtime就是将面向对象开发转换为面向过程 (一)instance,classObject,metaClass 对象的isa指针指向自己的元类(metaClass);对象...
Dart语言都是值传递,每次调用函数都是传递对象的内存地址,而不是复制对象 优点:热重载(Hot Reload) 缺点:不支持热更新,三方库有限,需要自己造轮子 Flutte...
对象的释放: NSObject调用dealloc后调用顺序:dealloc --> objc_rootDealloc -->objc_dispose -->objc_dest...
+(void)load{static dispatch_once_t onceToken;dispatch_once(&onceToken,^{[LGRuntimeTool ...
在前文Dealloc中会调用objc_clear_deallocating; 此方法中会调用sidetable_clearDeallocating方法,实际最终会调用weak...
自动释放池构造时,会调用objc_autoreleasePoolPush()函数; 自动释放池销毁时,会调用objc_autoreleasePoolPop()函数; 其实就是...
+ (void)load方法 类的+load方法在main函数之前加载 然后是加载分类的+load方法 最后才加载main函数 原因:因为ObjC 对于加载的管理主要使用了两...
Runloop是一个对象,通过内部维护的事件循环 去管理 事件和消息; Runloop是一些RunloopMode的集合; 常用的几种运行模式: kCFRunLoopDefa...
AutoreleasePool自动释放池,是 OC 中的一种内存自动回收机制,可以将加入自动释放池中的对象的release 时机延迟。当自动释放池作用域结束时,将池中的对象统...
FFmpeg框架在iOS平台上的编译和使用 1.使用环境 macOS Sierra 10.12.3 2.开发工具 Xcode 8.2.1 Terminal(终端) 3.需要下...
为什么会导致其他页面的textfield不可点击呢
增加UIButton的响应区域经常遇到UIButton对象"点了没反应"或"很难被点击到"的情况. 有时候是因为其frame的size设置的过小, 导致体验不好. 解决办法当然是扩大按钮的响应...
Serial Dispatch Queue,这叫做串行队列,要等待上一个执行完,再执行下一个; Concurrent Dispatch Queue,叫做并行队列,不需要上一个...