步骤简化工具 MJAppTools 编译放在手机目录,usr —> bin中 MJAppTools 如果没有权限 chmod +x /usr/...
步骤简化工具 MJAppTools 编译放在手机目录,usr —> bin中 MJAppTools 如果没有权限 chmod +x /usr/...
iOS中有2套API来访问和使用RunLoop Foundation:NSRunLoop CoreFoundation:CFRunLoopRef...
Runloop应用: Timer失效问题; 线程保活; Runloop的运行逻辑: 入口函数 通知Observers:进入Loop; 通知Obs...
传送门: Runtime的几个常规应用 类相关: 动态创建一个类(参数:父类,类名,额外的内存空间) Class objc_allocateCl...
在OpenGL中,GPU有2种渲染方式 On-Screen Rendering:当前屏幕渲染,在当前用于显示的屏幕缓冲区进行渲染操作 Off-S...
objc_msgSend()实现 3. 消息转发:__forwarding__ 这个阶段代码没有开源,这里有一份国外整理的伪代码(提取码: du...
method_t method_t是对方法\函数的封装 断点查看方法 仿源码自定义ClassInfo.h,从源码中抽出Class结构 断点查看:...
Class内部结构中有个方法缓存(cache_t),用散列表(哈希表)来缓存曾经调用过的方法,可以提高方法的查找速度。 缓存查找:bucket_...
场景: 不可以在block内部直接修改age的原因: 将以上代码转为C++(xcrun -sdk iphoneos clang -arch ar...
当block在栈上时,并不会对__block变量产生强引用; 当block被copy到堆时:1.会调用block内部的copy函数;2.copy...