代码改变世界

iOS底层原理开篇

2020-09-04 15:48  jiangys  阅读(226)  评论(0编辑  收藏

开篇说明

当工作到一定的年限,想要往更深入的方向发展,理解底层的原理是必须的。当前分享的这些,更多是来自网上学习的视频及看一些别人的分析文章,结合源码进行总结。说得不对的地方,希望大家可以留言指出。

源代码下载及操作命令

  1. 生成索引目录:https://github.com/ekalinin/github-markdown-toc 下载下来,打开gh-md-toc所有的目录,输入./gh-md-toc /Users/yongsheng/VSMVVM/README.md即可
  2. 源代码下载: https://opensource.apple.com/tarballs/objc4/
  • objc4 的源码不能直接编译,需要配置相关环境才能运行。可以在github下载可调式的源码:https://github.com/RetVal/objc-runtime
  • objc 运行时源码的入口在 void _objc_init(void) 函数

相关命令

1. 将Objective-C代码转换为C\C++代码

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

索引

  1. iOS底层原理-OC对象的本质
  2. iOS底层原理-KVO和KVC
  3. iOS底层原理-探索block本质(一)
  4. iOS底层原理-探索block本质(二)
  5. iOS底层原理-Runtime(一)
  6. iOS底层原理-Runtime(二)
  7. iOS底层原理-RunLoop
  8. iOS底层原理-多线程
  9. iOS底层原理-内存管理
  10. 性能优化
  11. 设计模式与架构
  12. 总结