开篇说明
当工作到一定的年限,想要往更深入的方向发展,理解底层的原理是必须的。当前分享的这些,更多是来自网上学习的视频及看一些别人的分析文章,结合源码进行总结。说得不对的地方,希望大家可以留言指出。
源代码下载及操作命令
- 生成索引目录:https://github.com/ekalinin/github-markdown-toc 下载下来,打开gh-md-toc所有的目录,输入./gh-md-toc /Users/yongsheng/VSMVVM/README.md即可
- 源代码下载: https://opensource.apple.com/tarballs/objc4/
- objc4 的源码不能直接编译,需要配置相关环境才能运行。可以在github下载可调式的源码:https://github.com/RetVal/objc-runtime
- objc 运行时源码的入口在 void _objc_init(void) 函数
相关命令
1. 将Objective-C代码转换为CC++代码
xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc OC源文件 -o 输出的CPP文件 // 如:xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc main.m -o main-arm64.cpp
- 模拟器:i386
- 32bit: armv7
- 64bit: arm64
索引
- iOS底层原理-OC对象的本质
- iOS底层原理-KVO和KVC
- iOS底层原理-探索block本质(一)
- iOS底层原理-探索block本质(二)
- iOS底层原理-Runtime(一)
- iOS底层原理-Runtime(二)
- iOS底层原理-RunLoop
- iOS底层原理-多线程
- iOS底层原理-内存管理
- 性能优化
- 设计模式与架构
- 总结