> For the complete documentation index, see [llms.txt](https://ryukiedev.gitbook.io/wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ryukiedev.gitbook.io/wiki/ios.md).

# iOS

- [底层](https://ryukiedev.gitbook.io/wiki/ios/di-ceng.md)
- [01.alloc与字节对齐](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/01.alloc-yu-zi-jie-dui-qi.md)
- [02.结构体内存对齐](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/02.-jie-gou-ti-nei-cun-dui-qi.md)
- [03.对象本质探究与isa](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/03.-dui-xiang-ben-zhi-tan-jiu-yu-isa.md)
- [04.ISA与Class](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/04.isa-yu-class.md)
- [05.深入探索Class的结构](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/05.-shen-ru-tan-suo-class-de-jie-gou.md)
- [06.WWDC20-runtime优化](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/06.wwdc20runtime-you-hua.md)
- [07.深入探究属性](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/07.-shu-xing.md)
- [08.isKindOfClass的底层实现](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/08.iskindofclass.md)
- [09.slowpath和fastpath](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/09.slowpath-and-fastpath.md)
- [10.Class-cache\_t](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/10.class-cache_t.md)
- [11.源码解读objc\_msgSend](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/11.runtime-objc_msgsend.md)
- [12.类的实现与初始化源码解读](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/12.-lei-de-shi-xian-yu-chu-shi-hua.md)
- [13.动态决议与消息转发](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/13.-dong-tai-jue-yi-yu-xiao-xi-zhuan-fa.md)
- [14.iOS应用启动（一）：dyld与main函数](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/14.ios-ying-yong-qi-dong-yi-dyldstart.md)
- [15.iOS应用启动（二）：环境配置与runtime初始化](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/15.ios-ying-yong-qi-dong-er-objcinit.md)
- [16.iOS应用启动（三）：镜像文件的读取和加载](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/16.ios-ying-yong-qi-dong-san-jing-xiang-wen-jian-de-du-qu-he-jia-zai.md)
- [17.iOS应用启动（四）：分类的加载](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/17.ios-ying-yong-qi-dong-si-fen-lei-de-jia-zai.md)
- [18.关联对象源码解析](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/18.-guan-lian-dui-xiang-yuan-ma-jie-xi.md)
- [19.MethodSwizzing方法交换的坑](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/19.methodswizzing-fang-fa-jiao-huan-de-keng.md)
- [20.详解KVC](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/20.-xiang-jie-kvc.md)
- [21.KVO几个被忽视的细节](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/21.kvo-ji-ge-bei-hu-shi-de-xi-jie.md)
- [22.KVO底层原理](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/22.kvo-di-ceng-yuan-li.md)
- [23.多线程原理与atomic](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/23.-duo-xian-cheng-yuan-li-yu-atomic.md)
- [24.任务与队列的几个面试题](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/24.-ren-wu-yu-dui-lie-de-ji-ge-mian-shi-ti.md)
- [25.dispatch\_once单例实现原理](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/25.dispatchonce-dan-li-shi-xian-yuan-li.md)
- [26.栅栏函数](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/26.-zha-lan-han-shu.md)
- [27.信号量](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/27.-xin-hao-liang.md)
- [28.锁｜性能分析](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/28.-suo-xing-neng-fen-xi.md)
- [29.锁｜@synchronized](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/29.-suo-synchronized.md)
- [30.锁｜递归锁](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/30.-suo-di-gui-suo.md)
- [31.锁｜NSConditionLock](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/31.-suo-nsconditionlock.md)
- [32.关于Block你所该知道的一切](https://ryukiedev.gitbook.io/wiki/ios/di-ceng/32.block.md)
- [内存管理](https://ryukiedev.gitbook.io/wiki/ios/nei-cun-guan-li.md)
- [01.从一个面试题看TaggedPointer](https://ryukiedev.gitbook.io/wiki/ios/nei-cun-guan-li/01.-cong-yi-ge-mian-shi-ti-kan-taggedpointer.md)
- [02.Retain\&Release](https://ryukiedev.gitbook.io/wiki/ios/nei-cun-guan-li/02.retain-and-release.md)
- [03.SideTable和weak底层实现](https://ryukiedev.gitbook.io/wiki/ios/nei-cun-guan-li/03.sidetable-he-weak-di-ceng-shi-xian.md)
- [04.Timer优化](https://ryukiedev.gitbook.io/wiki/ios/nei-cun-guan-li/04.timer-you-hua.md)
- [05.自动释放池与Runloop](https://ryukiedev.gitbook.io/wiki/ios/nei-cun-guan-li/05.-zi-dong-shi-fang-chi-yu-runloop.md)
- [06.dealloc](https://ryukiedev.gitbook.io/wiki/ios/nei-cun-guan-li/06.dealloc.md)
- [编译器](https://ryukiedev.gitbook.io/wiki/ios/bian-yi-qi.md)
- [01.LLVM](https://ryukiedev.gitbook.io/wiki/ios/bian-yi-qi/01.llvm.md)
- [杂项](https://ryukiedev.gitbook.io/wiki/ios/za-xiang.md)
- [01.堆栈的深度问题](https://ryukiedev.gitbook.io/wiki/ios/za-xiang/dui-zhan-de-shen-du-wen-ti.md)
- [02.使用TTF字体](https://ryukiedev.gitbook.io/wiki/ios/za-xiang/shi-yong-ttf-zi-ti.md)
- [03.为什么选VIPER](https://ryukiedev.gitbook.io/wiki/ios/za-xiang/wei-shi-mo-xuan-viper.md)
- [04.项目路由方案](https://ryukiedev.gitbook.io/wiki/ios/za-xiang/xiang-mu-lu-you-fang-an.md)
- [05.隐藏导航栏下面的线](https://ryukiedev.gitbook.io/wiki/ios/za-xiang/yin-cang-dao-hang-lan-xia-mian-de-xian.md)
- [06.源代码到IPA](https://ryukiedev.gitbook.io/wiki/ios/za-xiang/yuan-dai-ma-dao-ipa.md)
- [07.iOS重签名调研](https://ryukiedev.gitbook.io/wiki/ios/za-xiang/ios-zhong-qian-ming-tiao-yan.md)
- [08.load与-initialize](https://ryukiedev.gitbook.io/wiki/ios/za-xiang/load-yu-initialize.md)
- [09.NSTimer与GCD](https://ryukiedev.gitbook.io/wiki/ios/za-xiang/nstimer-yu-gcd.md)
- [10.NSURLConnection-和-NSURLSession](https://ryukiedev.gitbook.io/wiki/ios/za-xiang/nsurlconnection-he-nsurlsession.md)
- [11.Storyboard中UnwindSegue的使用](https://ryukiedev.gitbook.io/wiki/ios/za-xiang/storyboard-zhong-unwindsegue-de-shi-yong.md)
- [12.UI调试-UIDebuggingInformationOverlay](https://ryukiedev.gitbook.io/wiki/ios/za-xiang/ui-tiao-shi-uidebugginginformationoverlay.md)
- [13.UIWebView和WKWebView](https://ryukiedev.gitbook.io/wiki/ios/za-xiang/uiwebview-he-wkwebview.md)
- [14.UIWebView自适应高度](https://ryukiedev.gitbook.io/wiki/ios/za-xiang/uiwebview-zi-shi-ying-gao-du.md)
- [15.weak实现原理](https://ryukiedev.gitbook.io/wiki/ios/za-xiang/weak-shi-xian-yuan-li.md)
- [Runloop](https://ryukiedev.gitbook.io/wiki/ios/runloop.md)
- [01.RunLoop](https://ryukiedev.gitbook.io/wiki/ios/runloop/runloop.md)
- [02.autoreleasepool](https://ryukiedev.gitbook.io/wiki/ios/runloop/autoreleasepool.md)
- [Runtime](https://ryukiedev.gitbook.io/wiki/ios/runtime.md)
- [01.基本操作](https://ryukiedev.gitbook.io/wiki/ios/runtime/runtime-ji-ben-cao-zuo.md)
- [02.实现NSCoding的自动归档和自动解档](https://ryukiedev.gitbook.io/wiki/ios/runtime/runtime-shi-xian-nscoding-de-zi-dong-gui-dang-he-zi-dong-jie-dang.md)
- [03.消息机制](https://ryukiedev.gitbook.io/wiki/ios/runtime/runtime-xiao-xi-ji-zhi.md)
- [04.重写description打印对象信息](https://ryukiedev.gitbook.io/wiki/ios/runtime/runtime-zhong-xie-description-da-yin-dui-xiang-xin-xi.md)
- [05.MethodSwizzling的问题](https://ryukiedev.gitbook.io/wiki/ios/runtime/runtimemethodswizzling-de-wen-ti.md)
- [优化](https://ryukiedev.gitbook.io/wiki/ios/you-hua.md)
- [01.Apple官方资源瘦身方案ODR（一）：初见](https://ryukiedev.gitbook.io/wiki/ios/you-hua/01.apple-guan-fang-zi-yuan-shou-shen-fang-an-odr-yi-chu-jian.md)
- [02.Apple官方资源瘦身方案ODR（二）：践行｜换肤系统改造](https://ryukiedev.gitbook.io/wiki/ios/you-hua/02.apple-guan-fang-zi-yuan-shou-shen-fang-an-odr-er-jian-hang-huan-fu-xi-tong-gai-zao.md)
- [03.二进制重排实践](https://ryukiedev.gitbook.io/wiki/ios/you-hua/03.-er-jin-zhi-zhong-pai-shi-jian.md)
- [04.iOS截屏防护方案](https://ryukiedev.gitbook.io/wiki/ios/you-hua/04.ios-jie-ping-fang-hu-fang-an.md)
- [05.提高编译速度](https://ryukiedev.gitbook.io/wiki/ios/you-hua/05.-ti-gao-bian-yi-su-du.md)
- [06.图片格式-WebP](https://ryukiedev.gitbook.io/wiki/ios/you-hua/06.-tu-pian-ge-shi-webp.md)
- [07.App启动速度优化](https://ryukiedev.gitbook.io/wiki/ios/you-hua/07.app-qi-dong-su-du-you-hua.md)
- [08.IDL自动化埋点](https://ryukiedev.gitbook.io/wiki/ios/you-hua/08.idl-zi-dong-hua-mai-dian.md)
- [09.渲染原理及优化](https://ryukiedev.gitbook.io/wiki/ios/you-hua/09.-xuan-ran-yuan-li-ji-you-hua.md)
- [10.「利用 Metrics 和 Diagnostics 提高性能」网络研讨活动](https://ryukiedev.gitbook.io/wiki/ios/you-hua/10.-li-yong-metrics-he-diagnostics-ti-gao-xing-neng-wang-luo-yan-tao-huo-dong.md)
- [11.离屏渲染](https://ryukiedev.gitbook.io/wiki/ios/you-hua/11.-li-ping-xuan-ran.md)
- [12.一键搞定iOS16横竖屏切换](https://ryukiedev.gitbook.io/wiki/ios/you-hua/12.-yi-jian-gao-ding-ios16-heng-shu-ping-qie-huan.md)
- [多线程](https://ryukiedev.gitbook.io/wiki/ios/duo-xian-cheng.md)
- [01.合适的线程数量](https://ryukiedev.gitbook.io/wiki/ios/duo-xian-cheng/he-shi-de-xian-cheng-shu-liang.md)
- [02.死锁](https://ryukiedev.gitbook.io/wiki/ios/duo-xian-cheng/si-suo.md)
- [03.为什么用dispatch-once实现单例](https://ryukiedev.gitbook.io/wiki/ios/duo-xian-cheng/wei-shi-mo-yong-dispatchonce-shi-xian-dan-li.md)
- [04.iOS多线程方案](https://ryukiedev.gitbook.io/wiki/ios/duo-xian-cheng/ios-duo-xian-cheng-fang-an.md)
- [05.iOS多线程技术对比](https://ryukiedev.gitbook.io/wiki/ios/duo-xian-cheng/ios-duo-xian-cheng-ji-shu-dui-bi.md)
- [Database](https://ryukiedev.gitbook.io/wiki/ios/database.md)
- [01.数据库主键和外键](https://ryukiedev.gitbook.io/wiki/ios/database/01.-shu-ju-ku-zhu-jian-he-wai-jian.md)
- [02.FMDB-死锁问题](https://ryukiedev.gitbook.io/wiki/ios/database/02.fmdb-si-suo-wen-ti.md)
- [03.FMDB与WCDB](https://ryukiedev.gitbook.io/wiki/ios/database/03.fmdb-yu-wcdb.md)
- [04.SQLite数据库修复](https://ryukiedev.gitbook.io/wiki/ios/database/04.sqlite-shu-ju-ku-xiu-fu.md)
- [架构](https://ryukiedev.gitbook.io/wiki/ios/jia-gou.md)
- [01.组件化](https://ryukiedev.gitbook.io/wiki/ios/jia-gou/01.-zu-jian-hua.md)
