開篇說明
當工作到一定的年限,想要往更深入的方向發展,理解底層的原理是必須的。當前分享的這些,更多是來自網上學習的視頻及看一些別人的分析文章,結合源碼進行總結。說得不對的地方,希望大家可以留言指出。
源代碼下載及操作命令
- 生成索引目錄: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代碼轉換為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
索引
- iOS底層原理-OC對象的本質
- iOS底層原理-KVO和KVC
- iOS底層原理-探索block本質(一)
- iOS底層原理-探索block本質(二)
- iOS底層原理-Runtime(一)
- iOS底層原理-Runtime(二)
- iOS底層原理-RunLoop
- iOS底層原理-多線程
- iOS底層原理-內存管理
- 性能優化
- 設計模式與架構
- 總結