# 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)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ryukiedev.gitbook.io/wiki/ios.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
