{"version":1,"pages":[{"id":"-MI8JlqjC-8n5iIqJ9n1","title":"关于我-AboutMe","pathname":"/wiki","siteSpaceId":"sitesp_jvEcL","description":""},{"id":"upRe46Lhl7wS2BJN5ide","title":"我的作品-MyApps","pathname":"/wiki/myapps","siteSpaceId":"sitesp_jvEcL","description":""},{"id":"-MJVsA2oA3m5g0CIdeMS","title":"「梦见」账本","pathname":"/wiki/myapps/umemi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"}]},{"id":"-MJaC1IhOw-9EZ4RfznI","title":"「梦见」账本（Umemi）：极致的记账体验","pathname":"/wiki/myapps/umemi/think","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"「梦见」账本"}]},{"id":"-MJVsA2rlwtVBViOw5eU","title":"隐私协议：Privacy Policy","pathname":"/wiki/myapps/umemi/umemiprivacypolicy","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"「梦见」账本"}]},{"id":"-MJVsA2sX-BkjGOvfaO6","title":"服务协议：Terms of use","pathname":"/wiki/myapps/umemi/termsofuse","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"「梦见」账本"}]},{"id":"rUhaG6Tkdb6c2HzU4b5v","title":"外观预览：Preview","pathname":"/wiki/myapps/umemi/wai-guan-yu-lan-preview","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"「梦见」账本"}]},{"id":"-MOWXvu4RNsryQnTJ8L-","title":"赛博朋克-Cyberpunk","pathname":"/wiki/myapps/umemi/wai-guan-yu-lan-preview/punk","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"「梦见」账本"},{"label":"外观预览：Preview"}]},{"id":"-MJh302e6BV0xFaffkMA","title":"樱-Sakura","pathname":"/wiki/myapps/umemi/wai-guan-yu-lan-preview/sakura","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"「梦见」账本"},{"label":"外观预览：Preview"}]},{"id":"-MJh302fKGoMEb5xcEdm","title":"初恋-FirstLove","pathname":"/wiki/myapps/umemi/wai-guan-yu-lan-preview/firstlove","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"「梦见」账本"},{"label":"外观预览：Preview"}]},{"id":"-MJh302g0HtzzY5Xnn6y","title":"永生-Eternal","pathname":"/wiki/myapps/umemi/wai-guan-yu-lan-preview/eternal","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"「梦见」账本"},{"label":"外观预览：Preview"}]},{"id":"-MJh302hot00Y-OZNsPG","title":"菲尼克斯-Phoenix","pathname":"/wiki/myapps/umemi/wai-guan-yu-lan-preview/phoenix","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"「梦见」账本"},{"label":"外观预览：Preview"}]},{"id":"-MJh302ixr0i89WszCpR","title":"报丧女妖-Banshee","pathname":"/wiki/myapps/umemi/wai-guan-yu-lan-preview/banshee","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"「梦见」账本"},{"label":"外观预览：Preview"}]},{"id":"-MJh302jcqWaObbfzw1p","title":"九霄-NYXL","pathname":"/wiki/myapps/umemi/wai-guan-yu-lan-preview/nyxl","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"「梦见」账本"},{"label":"外观预览：Preview"}]},{"id":"-MJh302keh0ADRzdScXV","title":"Dream","pathname":"/wiki/myapps/umemi/wai-guan-yu-lan-preview/dream","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"「梦见」账本"},{"label":"外观预览：Preview"}]},{"id":"-MJh302lPGkXx0o8OD6L","title":"猕猴桃-Kiwi","pathname":"/wiki/myapps/umemi/wai-guan-yu-lan-preview/kiwi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"「梦见」账本"},{"label":"外观预览：Preview"}]},{"id":"-MJh302mPgmadJO4p8sp","title":"蜂蜜-Hachimitsu","pathname":"/wiki/myapps/umemi/wai-guan-yu-lan-preview/hachimitsu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"「梦见」账本"},{"label":"外观预览：Preview"}]},{"id":"-MJh302n0ARKPPZXeZKz","title":"DC","pathname":"/wiki/myapps/umemi/wai-guan-yu-lan-preview/justice","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"「梦见」账本"},{"label":"外观预览：Preview"}]},{"id":"-MJ_BLKp_BLFn540PLHY","title":"Elic-扫雷无尽天梯","pathname":"/wiki/myapps/elic","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"}]},{"id":"bWXx5OdhgRNZQvdWtNKH","title":"隐私访问记录","pathname":"/wiki/myapps/yin-si-fang-wen-ji-lu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"}]},{"id":"n0Jo7SXPxco8fu0PY8yp","title":"03.如何分析iOS15隐私访问记录","pathname":"/wiki/myapps/yin-si-fang-wen-ji-lu/03.-ru-he-fen-xi-ios15-yin-si-fang-wen-ji-lu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"隐私访问记录"}]},{"id":"gynbTXIvuYN8nMPv485U","title":"PrivacyPolicy","pathname":"/wiki/myapps/yin-si-fang-wen-ji-lu/privacypolicy","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"隐私访问记录"}]},{"id":"1DVNXTrkqftX4iBmlx13","title":"FrameWorks","pathname":"/wiki/myapps/yin-si-fang-wen-ji-lu/frameworks","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"隐私访问记录"}]},{"id":"GykaYSjbhSIa9u8ArJDe","title":"醒词","pathname":"/wiki/myapps/xing-ci","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"}]},{"id":"Mh6gg1PabQQoIWBU8qtd","title":"PrivacyPolicy","pathname":"/wiki/myapps/xing-ci/privacypolicy","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"醒词"}]},{"id":"WbB5xE4Ozs2vW2maOBDc","title":"TermsOfUse","pathname":"/wiki/myapps/xing-ci/termsofuse","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"醒词"}]},{"id":"TyNYRl5brTd5rGgvidy4","title":"一色","pathname":"/wiki/myapps/yi-se","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"}]},{"id":"e61nk5VDo1K5w9mUFhXG","title":"PrivacyPolicy","pathname":"/wiki/myapps/yi-se/privacypolicy","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"一色"}]},{"id":"KAi8ajS696PE0KQkLdLW","title":"醒诗","pathname":"/wiki/myapps/xing-shi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"}]},{"id":"ylHIs3cPQxJh1QfZM8cz","title":"PrivacyPolicy","pathname":"/wiki/myapps/xing-shi/privacypolicy","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"醒诗"}]},{"id":"66FrTlomSBsqiglWL86j","title":"醒词键盘","pathname":"/wiki/myapps/xing-ci-jian-pan","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"}]},{"id":"NyQZVTARjZIsldAAWarP","title":"PrivacyPolicy","pathname":"/wiki/myapps/xing-ci-jian-pan/privacypolicy","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"醒词键盘"}]},{"id":"kY8x0MteoisVBiolBoQC","title":"中文数字键盘","pathname":"/wiki/myapps/zhong-wen-shu-zi-jian-pan","siteSpaceId":"sitesp_jvEcL","breadcrumbs":[{"label":"我的作品-MyApps"}]},{"id":"jm0K0BGLaFzosDKyolO8","title":"PrivacyPolicy","pathname":"/wiki/myapps/zhong-wen-shu-zi-jian-pan/privacypolicy","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"我的作品-MyApps"},{"label":"中文数字键盘"}]},{"id":"OwcaijsR5XMcJSHV4R4V","title":"独立开发","pathname":"/wiki/du-li-kai-fa","siteSpaceId":"sitesp_jvEcL","description":""},{"id":"EIVA0RmgRNxIdSJxMkdJ","title":"产运","pathname":"/wiki/du-li-kai-fa/chan-yun","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"独立开发"}]},{"id":"-Me0vQCZf7v3dD0DMO9-","title":"01.没钱推广？这忘了这100美元","pathname":"/wiki/du-li-kai-fa/chan-yun/01.-mei-qian-tui-guang-zhe-wang-le-zhe-100-mei-yuan","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"独立开发"},{"label":"产运"}]},{"id":"-Mg-tbpbC2PHZbxSIJaM","title":"02.在个人站点配置app-ads","pathname":"/wiki/du-li-kai-fa/chan-yun/02.-zai-ge-ren-zhan-dian-pei-zhi-appads","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"独立开发"},{"label":"产运"}]},{"id":"ywqfwA0DvDnAxgHxy4F6","title":"03.应用图标圆角","pathname":"/wiki/du-li-kai-fa/chan-yun/03.-ying-yong-tu-biao-yuan-jiao","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"独立开发"},{"label":"产运"}]},{"id":"kcjiQBBUqZTUYewf0P22","title":"04.iOS独立开发者注册公司到App备案上架.md","pathname":"/wiki/du-li-kai-fa/chan-yun/04.-du-li-kai-fa-zhe-zhu-ce-gong-si-dao-app-bei-an-shang-jia","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"独立开发"},{"label":"产运"}]},{"id":"PH8UJqu433UetDtIOIYu","title":"iCloud","pathname":"/wiki/du-li-kai-fa/icloud","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"独立开发"}]},{"id":"-MbtAd4DBEUF-UpAkmH3","title":"01.基于iCloud构建用户体系","pathname":"/wiki/du-li-kai-fa/icloud/ji-yu-icloud-gou-jian-yong-hu-ti-xi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"独立开发"},{"label":"iCloud"}]},{"id":"-MfgYtF8yYYvB2cpWCnV","title":"02.基于iCloud构建游戏内排行榜","pathname":"/wiki/du-li-kai-fa/icloud/02.-ji-yu-icloud-gou-jian-you-xi-nei-pai-hang-bang","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"独立开发"},{"label":"iCloud"}]},{"id":"gXl4yeUKMl3haeVHef9I","title":"Swift","pathname":"/wiki/swift","siteSpaceId":"sitesp_jvEcL","description":""},{"id":"-MJW6tZN4D7EsvQtD_2n","title":"01.纯Swift路由方案探究","pathname":"/wiki/swift/chun-swift-lu-you-fang-an-tan-jiu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MJW6tZO_A6_rcpmpJtr","title":"02.使用Carthage替代CocoaPods","pathname":"/wiki/swift/shi-yong-carthage-ti-dai-cocoapods","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MJW6tZP_2KtLKYFUXui","title":"03.逃逸闭包和非逃逸闭包","pathname":"/wiki/swift/tao-yi-bi-bao-he-fei-tao-yi-bi-bao","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MJW6tZQUbuy0rj0m5Q5","title":"04.向下向上取整","pathname":"/wiki/swift/xiang-xia-xiang-shang-qu-zheng","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MJW6tZRJCFBzSwLlTJV","title":"05.Copy-on-write","pathname":"/wiki/swift/cow","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MJW6tZSbwL6hA__tQxy","title":"06.OC老项目Swift混编的一些坑","pathname":"/wiki/swift/oc-lao-xiang-mu-swift-hun-bian-de-yi-xie-keng","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MJW6tZT-JW5R3Yu9wOx","title":"07.OC项目中加入Swift混编","pathname":"/wiki/swift/oc-xiang-mu-zhong-jia-ru-swift-hun-bian","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MJW6tZUWTgqGLxtbXcv","title":"08.Optional实质","pathname":"/wiki/swift/optional-shi-zhi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MJW6tZV7zQPyTADlyH0","title":"09.R-Swift-安全的资源组织方案forSwift","pathname":"/wiki/swift/rswift-an-quan-de-zi-yuan-zu-zhi-fang-an-forswift","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MJW6tZW2Cz5HcxvjDAH","title":"10.Struct与Class","pathname":"/wiki/swift/struct-yu-class","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MJW6tZXhtKJB_waTZBY","title":"11.Swift5新特性","pathname":"/wiki/swift/swift5-xin-te-xing","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MJW6tZYRZoqcG6t2NmO","title":"12.Swift性能分析","pathname":"/wiki/swift/swift-xing-neng-fen-xi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MJW6tZZd3svHabmx5PH","title":"13.SwiftPackage使用","pathname":"/wiki/swift/swiftpackage-shi-yong","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MJ_BLL3BWunATyNp3Y9","title":"14.String与Substring","pathname":"/wiki/swift/string-yu-substring","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MJ_I7rsMBsr2ciSb0mT","title":"15.Array,Set,Dictionary","pathname":"/wiki/swift/array-set-dictionary","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MJ_KTwmhB2VzPlZvUQg","title":"16.For-in跳跃遍历","pathname":"/wiki/swift/forin-tiao-yue-bian-li","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MJa4BLCi_wYl9yZ3r7r","title":"17.Switch元祖","pathname":"/wiki/swift/switch-yuan-zu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MJaC1J3jpj55mWCR926","title":"18.循环的标签控制","pathname":"/wiki/swift/xun-huan-de-biao-qian-kong-zhi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MWbVGUE-qQckaguMtKe","title":"19.Protocol与静态派发、动态派发","pathname":"/wiki/swift/protocol-yu-jing-tai-pai-fa-dong-tai-pai-fa","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MWy7qy5SFFYIkT9uOj2","title":"20.Swift位移枚举","pathname":"/wiki/swift/swift-wei-yi-mei-ju","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-Mct1rlYB6J-ScTWYvGS","title":"21.Swift轻量级网络封装：SwiftyServiceProtocol（适用于混编或纯Swift项目）","pathname":"/wiki/swift/swift-qing-liang-ji-wang-luo-feng-zhuang-swiftyserviceprotocol-shi-yong-yu-hun-bian-huo-chun-swift-x","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-MdwOK6iE8rlkJ09rss7","title":"22.open与public","pathname":"/wiki/swift/open-yu-public","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"-Mj-GlVwSLyU23_yJxES","title":"23.Swift项目编译速度优化","pathname":"/wiki/swift/23.swift-xiang-mu-bian-yi-su-du-you-hua","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"opvaEfbHgt1SIn7ayN0B","title":"24.[译]编写高性能Swift代码-Writing High-Performance Swift Code(2022.8.25版)","pathname":"/wiki/swift/yi-writing-highperformance-swift-code","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"Utzc3XUQ9Lg8spG3lWks","title":"25.Swift编译流程","pathname":"/wiki/swift/01.swift-bian-yi-liu-cheng","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"2UTK0FHxfqPvfLweQzCt","title":"26.Swift方法调度","pathname":"/wiki/swift/02.swift-fang-fa-tiao-du","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Swift"}]},{"id":"GceSSp4vSFIYRm8QQI7P","title":"SwiftUI","pathname":"/wiki/swiftui","siteSpaceId":"sitesp_jvEcL","description":""},{"id":"-MUpQmoSPDsrbdYZnKeS","title":"01.Form","pathname":"/wiki/swiftui/01.form","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"SwiftUI"}]},{"id":"-MUpQmoTw22Exq8N6_-1","title":"02.Navigation","pathname":"/wiki/swiftui/02.navigation","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"SwiftUI"}]},{"id":"-MUpQmoUDl2ZHBNgNjq-","title":"03.ViewBuilder参数10个限制","pathname":"/wiki/swiftui/03.viewbuilder-can-shu-10-ge-xian-zhi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"SwiftUI"}]},{"id":"-MUsSYnJEfcG2R28rP2M","title":"04.UIKit混编时Dismiss掉HostController","pathname":"/wiki/swiftui/04.uikit-hun-bian-shi-dismiss-diao-hostcontroller","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"SwiftUI"}]},{"id":"-MVyQNVKqGAJ-Y5qqWHq","title":"05.如何在SwiftUI中使用ImagePicker？","pathname":"/wiki/swiftui/05.imagepicker","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"SwiftUI"}]},{"id":"-MgUhVoOnqj2Fephcmpo","title":"06.从some看Swift不透明类型","pathname":"/wiki/swiftui/06.-cong-some-kan-swift-bu-tou-ming-lei-xing","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"SwiftUI"}]},{"id":"tUyxE3tV0QdrWFIxAQIr","title":"07.TabView使用","pathname":"/wiki/swiftui/07.tabview-shi-yong","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"SwiftUI"}]},{"id":"RiDy6O0z8abwnfiRWRDA","title":"08.openURL","pathname":"/wiki/swiftui/08.openurl","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"SwiftUI"}]},{"id":"z3WsV1BTYWLLNnQpAl2B","title":"09.Search","pathname":"/wiki/swiftui/09.search","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"SwiftUI"}]},{"id":"WuAUDBoZXaepHkYYRQys","title":"10.SwifUI中使用WKWebView","pathname":"/wiki/swiftui/10.swifui-zhong-shi-yong-wkwebview","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"SwiftUI"}]},{"id":"NU7hiqlYMnaRcpTnwB4C","title":"DeepLearning","pathname":"/wiki/deeplearning","siteSpaceId":"sitesp_jvEcL","description":""},{"id":"TLpSPff9EyHNSb5BSyNv","title":"基础知识","pathname":"/wiki/deeplearning/ji-chu-zhi-shi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"DeepLearning"}]},{"id":"-MUvFwP0t_P4Y4nNZ-qA","title":"01.感知机与神经网络","pathname":"/wiki/deeplearning/ji-chu-zhi-shi/gan-zhi-ji-yu-shen-jing-wang-luo","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"DeepLearning"},{"label":"基础知识"}]},{"id":"-MUvFwP1iQjemMmGAoKr","title":"02.线性可分","pathname":"/wiki/deeplearning/ji-chu-zhi-shi/xian-xing-ke-fen","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"DeepLearning"},{"label":"基础知识"}]},{"id":"ThCwQoZ7yg0CD00P9RUV","title":"TensorFlow","pathname":"/wiki/deeplearning/tensorflow","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"DeepLearning"}]},{"id":"-MUvFwP3W0W8euy7qnei","title":"01.Anaconda","pathname":"/wiki/deeplearning/tensorflow/01-anaconda","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"DeepLearning"},{"label":"TensorFlow"}]},{"id":"-MUvFwP4b95TU_I05Alg","title":"02.JupyterNotebook","pathname":"/wiki/deeplearning/tensorflow/02-jupyternotebook","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"DeepLearning"},{"label":"TensorFlow"}]},{"id":"-MUvFwP5mHSkHbbxEgGY","title":"03.安装TensorFlow","pathname":"/wiki/deeplearning/tensorflow/03-an-zhuang-tensorflow","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"DeepLearning"},{"label":"TensorFlow"}]},{"id":"4jrnYOKG8IIVfVbN20NH","title":"iOS","pathname":"/wiki/ios","siteSpaceId":"sitesp_jvEcL","description":""},{"id":"q4YJd67ilHTAKokRX6tM","title":"底层","pathname":"/wiki/ios/di-ceng","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"}]},{"id":"-MbX2TjzEX8PYEIz3cAy","title":"01.alloc与字节对齐","pathname":"/wiki/ios/di-ceng/01.alloc-yu-zi-jie-dui-qi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MbiH6vkRYo2tElMyNW8","title":"02.结构体内存对齐","pathname":"/wiki/ios/di-ceng/02.-jie-gou-ti-nei-cun-dui-qi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MfzlUa7SqvvATgWC448","title":"03.对象本质探究与isa","pathname":"/wiki/ios/di-ceng/03.-dui-xiang-ben-zhi-tan-jiu-yu-isa","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-McsVJ1OQptX0e7pv_kk","title":"04.ISA与Class","pathname":"/wiki/ios/di-ceng/04.isa-yu-class","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-Md7AFiOUtcLlzV0mSG6","title":"05.深入探索Class的结构","pathname":"/wiki/ios/di-ceng/05.-shen-ru-tan-suo-class-de-jie-gou","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-Md7AFiP8NtKwPqmETGX","title":"06.WWDC20-runtime优化","pathname":"/wiki/ios/di-ceng/06.wwdc20runtime-you-hua","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-Md7cXKXe3ND5x-gGja3","title":"07.深入探究属性","pathname":"/wiki/ios/di-ceng/07.-shu-xing","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MfzlUaCVe9j3StD4bHf","title":"08.isKindOfClass的底层实现","pathname":"/wiki/ios/di-ceng/08.iskindofclass","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MdA9lUw2jHNQD2COrUe","title":"09.slowpath和fastpath","pathname":"/wiki/ios/di-ceng/09.slowpath-and-fastpath","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MdBd7Q76blCl01T9ge9","title":"10.Class-cache_t","pathname":"/wiki/ios/di-ceng/10.class-cache_t","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MfzlUaFpv2XTaOK8Kz0","title":"11.源码解读objc_msgSend","pathname":"/wiki/ios/di-ceng/11.runtime-objc_msgsend","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MfzlUaGWroLzNSEsIi2","title":"12.类的实现与初始化源码解读","pathname":"/wiki/ios/di-ceng/12.-lei-de-shi-xian-yu-chu-shi-hua","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MkHT9cJeLyVqHfYjo1H","title":"13.动态决议与消息转发","pathname":"/wiki/ios/di-ceng/13.-dong-tai-jue-yi-yu-xiao-xi-zhuan-fa","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-Mf5x7HcGT6jonUamfyV","title":"14.iOS应用启动（一）：dyld与main函数","pathname":"/wiki/ios/di-ceng/14.ios-ying-yong-qi-dong-yi-dyldstart","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-Mf5x7Hd2ioiqxJmWnO2","title":"15.iOS应用启动（二）：环境配置与runtime初始化","pathname":"/wiki/ios/di-ceng/15.ios-ying-yong-qi-dong-er-objcinit","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MfBKpYmFbDmoSD4AET3","title":"16.iOS应用启动（三）：镜像文件的读取和加载","pathname":"/wiki/ios/di-ceng/16.ios-ying-yong-qi-dong-san-jing-xiang-wen-jian-de-du-qu-he-jia-zai","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-Mg-Wkn2gCL1YAJt5uyg","title":"17.iOS应用启动（四）：分类的加载","pathname":"/wiki/ios/di-ceng/17.ios-ying-yong-qi-dong-si-fen-lei-de-jia-zai","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-Mg1MNcJfnIYSYPAmGQe","title":"18.关联对象源码解析","pathname":"/wiki/ios/di-ceng/18.-guan-lian-dui-xiang-yuan-ma-jie-xi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MgV8Oj6J_nDaxJH28U9","title":"19.MethodSwizzing方法交换的坑","pathname":"/wiki/ios/di-ceng/19.methodswizzing-fang-fa-jiao-huan-de-keng","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MgZ0MMKqhgQ2zo5Xr4G","title":"20.详解KVC","pathname":"/wiki/ios/di-ceng/20.-xiang-jie-kvc","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MgZKZ95_5OFZfi8Pd09","title":"21.KVO几个被忽视的细节","pathname":"/wiki/ios/di-ceng/21.kvo-ji-ge-bei-hu-shi-de-xi-jie","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-Mg_1HyDty6RunW0lVik","title":"22.KVO底层原理","pathname":"/wiki/ios/di-ceng/22.kvo-di-ceng-yuan-li","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MiqFfNxXKY4KMRBxMCr","title":"23.多线程原理与atomic","pathname":"/wiki/ios/di-ceng/23.-duo-xian-cheng-yuan-li-yu-atomic","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MiqFfNyidoQ818pVC8h","title":"24.任务与队列的几个面试题","pathname":"/wiki/ios/di-ceng/24.-ren-wu-yu-dui-lie-de-ji-ge-mian-shi-ti","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MiqFfNzblkjGDlWf-wa","title":"25.dispatch_once单例实现原理","pathname":"/wiki/ios/di-ceng/25.dispatchonce-dan-li-shi-xian-yuan-li","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MjIsWTX_KgbPpd5OLIF","title":"26.栅栏函数","pathname":"/wiki/ios/di-ceng/26.-zha-lan-han-shu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MjJ67KiYIOPtt8BAME7","title":"27.信号量","pathname":"/wiki/ios/di-ceng/27.-xin-hao-liang","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MjTz0oAw5H-dB4O0bHg","title":"28.锁｜性能分析","pathname":"/wiki/ios/di-ceng/28.-suo-xing-neng-fen-xi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MjTz0oB-2QQDq_d5fFG","title":"29.锁｜@synchronized","pathname":"/wiki/ios/di-ceng/29.-suo-synchronized","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MjYvabLlVFXKTE6VfFV","title":"30.锁｜递归锁","pathname":"/wiki/ios/di-ceng/30.-suo-di-gui-suo","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MjYvabMBIglXlNJ_KAA","title":"31.锁｜NSConditionLock","pathname":"/wiki/ios/di-ceng/31.-suo-nsconditionlock","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"-MkHRHrXDQteJ_wJlZYh","title":"32.关于Block你所该知道的一切","pathname":"/wiki/ios/di-ceng/32.block","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"底层"}]},{"id":"NWsGY2Z1lVbSgV8Ya1aK","title":"内存管理","pathname":"/wiki/ios/nei-cun-guan-li","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"}]},{"id":"ECBbiKY2xrv4PkzSeib1","title":"01.从一个面试题看TaggedPointer","pathname":"/wiki/ios/nei-cun-guan-li/01.-cong-yi-ge-mian-shi-ti-kan-taggedpointer","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"内存管理"}]},{"id":"YwGYRMWacLkyCMiUDwp2","title":"02.Retain&Release","pathname":"/wiki/ios/nei-cun-guan-li/02.retain-and-release","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"内存管理"}]},{"id":"aobMwdJJgeuB9H7FAKE8","title":"03.SideTable和weak底层实现","pathname":"/wiki/ios/nei-cun-guan-li/03.sidetable-he-weak-di-ceng-shi-xian","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"内存管理"}]},{"id":"3Jwy1msuvOiHTP3thKOf","title":"04.Timer优化","pathname":"/wiki/ios/nei-cun-guan-li/04.timer-you-hua","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"内存管理"}]},{"id":"SzDxnBTtkQiF1DWUQi2R","title":"05.自动释放池与Runloop","pathname":"/wiki/ios/nei-cun-guan-li/05.-zi-dong-shi-fang-chi-yu-runloop","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"内存管理"}]},{"id":"Tf9O1xxmyenIOtG7QQ68","title":"06.dealloc","pathname":"/wiki/ios/nei-cun-guan-li/06.dealloc","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"内存管理"}]},{"id":"brH245Rje4OFx5CkQCjq","title":"编译器","pathname":"/wiki/ios/bian-yi-qi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"}]},{"id":"-MkX0yGtuxHCtQ-OVVIq","title":"01.LLVM","pathname":"/wiki/ios/bian-yi-qi/01.llvm","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"编译器"}]},{"id":"0g3tbZX7w0EP1Ll7dphO","title":"杂项","pathname":"/wiki/ios/za-xiang","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"}]},{"id":"-MJWEMUbZ9Uhh-_bhU_y","title":"01.堆栈的深度问题","pathname":"/wiki/ios/za-xiang/dui-zhan-de-shen-du-wen-ti","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"杂项"}]},{"id":"-MJWEMUctwaXvHSqKStP","title":"02.使用TTF字体","pathname":"/wiki/ios/za-xiang/shi-yong-ttf-zi-ti","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"杂项"}]},{"id":"-MJWEMUdKy4V6x_LEtwv","title":"03.为什么选VIPER","pathname":"/wiki/ios/za-xiang/wei-shi-mo-xuan-viper","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"杂项"}]},{"id":"-MJWEMUe2EBbznSzaTHM","title":"04.项目路由方案","pathname":"/wiki/ios/za-xiang/xiang-mu-lu-you-fang-an","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"杂项"}]},{"id":"-MJWEMUfnDudizTWv8ud","title":"05.隐藏导航栏下面的线","pathname":"/wiki/ios/za-xiang/yin-cang-dao-hang-lan-xia-mian-de-xian","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"杂项"}]},{"id":"-MJWEMUgYoo2lbEPbN71","title":"06.源代码到IPA","pathname":"/wiki/ios/za-xiang/yuan-dai-ma-dao-ipa","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"杂项"}]},{"id":"-MJWEMUh_QC7utJTm11y","title":"07.iOS重签名调研","pathname":"/wiki/ios/za-xiang/ios-zhong-qian-ming-tiao-yan","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"杂项"}]},{"id":"-MJWEMUizgWViX_0_Voa","title":"08.load与-initialize","pathname":"/wiki/ios/za-xiang/load-yu-initialize","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"杂项"}]},{"id":"-MJWEMUkxRe39Rm-cc8G","title":"09.NSTimer与GCD","pathname":"/wiki/ios/za-xiang/nstimer-yu-gcd","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"杂项"}]},{"id":"-MJWEMUlkH7q3PEHaGSw","title":"10.NSURLConnection-和-NSURLSession","pathname":"/wiki/ios/za-xiang/nsurlconnection-he-nsurlsession","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"杂项"}]},{"id":"-MJWEMUmZ218jKabNwla","title":"11.Storyboard中UnwindSegue的使用","pathname":"/wiki/ios/za-xiang/storyboard-zhong-unwindsegue-de-shi-yong","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"杂项"}]},{"id":"-MJWEMUnMSo5qb6iD7sG","title":"12.UI调试-UIDebuggingInformationOverlay","pathname":"/wiki/ios/za-xiang/ui-tiao-shi-uidebugginginformationoverlay","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"杂项"}]},{"id":"-MJWEMUolwxX_nNxIVMy","title":"13.UIWebView和WKWebView","pathname":"/wiki/ios/za-xiang/uiwebview-he-wkwebview","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"杂项"}]},{"id":"-MJWEMUpSaz1UJBDbdYq","title":"14.UIWebView自适应高度","pathname":"/wiki/ios/za-xiang/uiwebview-zi-shi-ying-gao-du","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"杂项"}]},{"id":"-MJWEMUqVrM-Eli83fks","title":"15.weak实现原理","pathname":"/wiki/ios/za-xiang/weak-shi-xian-yuan-li","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"杂项"}]},{"id":"gcyxlelixZmxaJKfaSs0","title":"Runloop","pathname":"/wiki/ios/runloop","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"}]},{"id":"-MJWEMUsmNJ4mdfiYvqb","title":"01.RunLoop","pathname":"/wiki/ios/runloop/runloop","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"Runloop"}]},{"id":"-MJWEMUt3Oaq6-BDqdKr","title":"02.autoreleasepool","pathname":"/wiki/ios/runloop/autoreleasepool","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"Runloop"}]},{"id":"bbAkuwHKHGO24vEVjlxm","title":"Runtime","pathname":"/wiki/ios/runtime","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"}]},{"id":"-MJWEMUvEsl3QS-Uehre","title":"01.基本操作","pathname":"/wiki/ios/runtime/runtime-ji-ben-cao-zuo","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"Runtime"}]},{"id":"-MJWEMUwlHzp0VahClwc","title":"02.实现NSCoding的自动归档和自动解档","pathname":"/wiki/ios/runtime/runtime-shi-xian-nscoding-de-zi-dong-gui-dang-he-zi-dong-jie-dang","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"Runtime"}]},{"id":"-MJWEMUx01yGcY_8VY8g","title":"03.消息机制","pathname":"/wiki/ios/runtime/runtime-xiao-xi-ji-zhi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"Runtime"}]},{"id":"-MJWEMUybD1Kcg63UVY3","title":"04.重写description打印对象信息","pathname":"/wiki/ios/runtime/runtime-zhong-xie-description-da-yin-dui-xiang-xin-xi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"Runtime"}]},{"id":"-MJWEMV-2zBGx97z3t-_","title":"05.MethodSwizzling的问题","pathname":"/wiki/ios/runtime/runtimemethodswizzling-de-wen-ti","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"Runtime"}]},{"id":"lh0gWdSRpDyuhXkIinby","title":"优化","pathname":"/wiki/ios/you-hua","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"}]},{"id":"-Mg45Qm9gcXEsUTD944h","title":"01.Apple官方资源瘦身方案ODR（一）：初见","pathname":"/wiki/ios/you-hua/01.apple-guan-fang-zi-yuan-shou-shen-fang-an-odr-yi-chu-jian","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"优化"}]},{"id":"-MgBtaE5zx5I5Tg9pcsE","title":"02.Apple官方资源瘦身方案ODR（二）：践行｜换肤系统改造","pathname":"/wiki/ios/you-hua/02.apple-guan-fang-zi-yuan-shou-shen-fang-an-odr-er-jian-hang-huan-fu-xi-tong-gai-zao","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"优化"}]},{"id":"-Mgi87Z4B2gLoyzWNMDU","title":"03.二进制重排实践","pathname":"/wiki/ios/you-hua/03.-er-jin-zhi-zhong-pai-shi-jian","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"优化"}]},{"id":"uDfIWrx1hrHga0aqSzuY","title":"04.iOS截屏防护方案","pathname":"/wiki/ios/you-hua/04.ios-jie-ping-fang-hu-fang-an","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"优化"}]},{"id":"-MJWEMV3ntr4fMShRMAF","title":"05.提高编译速度","pathname":"/wiki/ios/you-hua/05.-ti-gao-bian-yi-su-du","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"优化"}]},{"id":"-MJWEMV449WUtoWXtwLa","title":"06.图片格式-WebP","pathname":"/wiki/ios/you-hua/06.-tu-pian-ge-shi-webp","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"优化"}]},{"id":"-MJWEMV56dvlcTL0wmlB","title":"07.App启动速度优化","pathname":"/wiki/ios/you-hua/07.app-qi-dong-su-du-you-hua","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"优化"}]},{"id":"-MJWEMV6lg3veSr8QdoC","title":"08.IDL自动化埋点","pathname":"/wiki/ios/you-hua/08.idl-zi-dong-hua-mai-dian","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"优化"}]},{"id":"-MVqY-zg8E3r_MTL96Bu","title":"09.渲染原理及优化","pathname":"/wiki/ios/you-hua/09.-xuan-ran-yuan-li-ji-you-hua","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"优化"}]},{"id":"-MiqFfNPNb_pY0z-diQM","title":"10.「利用 Metrics 和 Diagnostics 提高性能」网络研讨活动","pathname":"/wiki/ios/you-hua/10.-li-yong-metrics-he-diagnostics-ti-gao-xing-neng-wang-luo-yan-tao-huo-dong","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"优化"}]},{"id":"UprjVvTud34Rfv6eMP9V","title":"11.离屏渲染","pathname":"/wiki/ios/you-hua/11.-li-ping-xuan-ran","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"优化"}]},{"id":"Rc09C0XgM6gAruEP6ROp","title":"12.一键搞定iOS16横竖屏切换","pathname":"/wiki/ios/you-hua/12.-yi-jian-gao-ding-ios16-heng-shu-ping-qie-huan","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"优化"}]},{"id":"b2P11Unz335V2Rcn009g","title":"多线程","pathname":"/wiki/ios/duo-xian-cheng","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"}]},{"id":"-MJWEMV8283U4_LWXITK","title":"01.合适的线程数量","pathname":"/wiki/ios/duo-xian-cheng/he-shi-de-xian-cheng-shu-liang","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"多线程"}]},{"id":"-MJWEMV9yCbyijb-JruH","title":"02.死锁","pathname":"/wiki/ios/duo-xian-cheng/si-suo","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"多线程"}]},{"id":"-MJWEMVAO-5KfWQLD9CV","title":"03.为什么用dispatch-once实现单例","pathname":"/wiki/ios/duo-xian-cheng/wei-shi-mo-yong-dispatchonce-shi-xian-dan-li","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"多线程"}]},{"id":"-MJWEMVBPFiVNWAdP3xg","title":"04.iOS多线程方案","pathname":"/wiki/ios/duo-xian-cheng/ios-duo-xian-cheng-fang-an","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"多线程"}]},{"id":"-MJWEMVCT_l1X1lZ1rxH","title":"05.iOS多线程技术对比","pathname":"/wiki/ios/duo-xian-cheng/ios-duo-xian-cheng-ji-shu-dui-bi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"多线程"}]},{"id":"3RUUn8j4zdqShTi23eV3","title":"Database","pathname":"/wiki/ios/database","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"}]},{"id":"OACmKhy3HWX7uBcLMLlw","title":"01.数据库主键和外键","pathname":"/wiki/ios/database/01.-shu-ju-ku-zhu-jian-he-wai-jian","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"Database"}]},{"id":"ezLe2GdYCszsWRsDJZcs","title":"02.FMDB-死锁问题","pathname":"/wiki/ios/database/02.fmdb-si-suo-wen-ti","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"Database"}]},{"id":"tFZL3ngJ89vWJViRBzgW","title":"03.FMDB与WCDB","pathname":"/wiki/ios/database/03.fmdb-yu-wcdb","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"Database"}]},{"id":"W7vneM6goGcJ3V3HGB33","title":"04.SQLite数据库修复","pathname":"/wiki/ios/database/04.sqlite-shu-ju-ku-xiu-fu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"Database"}]},{"id":"ASbfFRS8SxVQCMlQZaZv","title":"架构","pathname":"/wiki/ios/jia-gou","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"}]},{"id":"10o0oFxecxiBzF4oOhBN","title":"01.组件化","pathname":"/wiki/ios/jia-gou/01.-zu-jian-hua","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"iOS"},{"label":"架构"}]},{"id":"CZJitymfxomdayQNrvu3","title":"逆向","pathname":"/wiki/ni-xiang","siteSpaceId":"sitesp_jvEcL","description":""},{"id":"-MX2S-LQW5ViY9PqEz-S","title":"01.寄存器","pathname":"/wiki/ni-xiang/01.-ji-cun-qi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-MZmXQ0xuoXBhzICwqlR","title":"03.iOS应用签名原理","pathname":"/wiki/ni-xiang/03.ios-ying-yong-qian-ming-yuan-li","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-MZrCtt7sIQbxWK6AzLO","title":"04.利用Xcode进行重签名与调试","pathname":"/wiki/ni-xiang/04.-li-yong-xcode-jin-hang-zhong-qian-ming-yu-tiao-shi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-MZrCtt8T6akVDXMM4jG","title":"05.dylib注入","pathname":"/wiki/ni-xiang/05.dylib-zhu-ru","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-MZrrBYYZZITNBieLB7v","title":"06.MachO文件","pathname":"/wiki/ni-xiang/06.macho-wen-jian","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-MZvK7wHa8OIvB8McrIF","title":"07.dyld","pathname":"/wiki/ni-xiang/07.dyld","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-MZvr-5gxQkxFFPLPP_4","title":"08.Hook","pathname":"/wiki/ni-xiang/08.hook","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-M_G7HTWCSVxObT9TSix","title":"09.深入理解动态库与静态库","pathname":"/wiki/ni-xiang/09.-shen-ru-li-jie-dong-tai-ku-yu-jing-tai-ku","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-M_uxpF-k-7CZy5SfJ_r","title":"10.通过符号表找到符号","pathname":"/wiki/ni-xiang/10.-tong-guo-fu-hao-biao-zhao-dao-fu-hao","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-M_uxpF0QQmvo-fRt_IY","title":"11.fishhook原理","pathname":"/wiki/ni-xiang/11.fishhook-yuan-li","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-M_uxpF1ZcFpNGLy_vHf","title":"12.去符号与恢复符号","pathname":"/wiki/ni-xiang/12.-qu-fu-hao-yu-hui-fu-fu-hao","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-M_uxpF29l_YiKu3KZF0","title":"13.反HOOK防护（一）：基于Fishhook","pathname":"/wiki/ni-xiang/13.-fan-hook-fang-hu-yi-ji-yu-fishhook","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-M_uxpF3FNXrVGemIL1T","title":"14.反HOOK防护（二）：Monkey","pathname":"/wiki/ni-xiang/14.-fan-hook-fang-hu-er-monkey","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-MaCql4rZ2kJp1IZgLw2","title":"15.Inlinehook:Dobby","pathname":"/wiki/ni-xiang/15.inlinehook-dobby","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-MaHKWpPNJHRrPEfEIHu","title":"16.LLDB","pathname":"/wiki/ni-xiang/16.lldb","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-MaHKWpQ_6xBUiLmdCyu","title":"17.虚拟内存","pathname":"/wiki/ni-xiang/17.-xu-ni-nei-cun","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-MaIGRtTR3l5eIp02ili","title":"18.Chisel工具","pathname":"/wiki/ni-xiang/18.chisel-gong-ju","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-MaIGRtUrbgYWR7w-Dc4","title":"19.DS.LLDB工具","pathname":"/wiki/ni-xiang/19.dslldb-gong-ju","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-MaIGRtVXqdszBYaGBFG","title":"20.Cycript工具","pathname":"/wiki/ni-xiang/20.cycript-gong-ju","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-MaNQ9umDI3lsxP_PDbS","title":"21.Cycrupt用法","pathname":"/wiki/ni-xiang/21.cycrupt-yong-fa","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-MaNQ9unoYE1QC8jQ0l1","title":"22.Logos","pathname":"/wiki/ni-xiang/22.logos","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-MaNQ9uocDzQB7anLRKu","title":"23.应用砸壳","pathname":"/wiki/ni-xiang/23.-ying-yong-za-ke","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-MaNQ9upVVm5pOEp-ADp","title":"24.实战人人视频破解","pathname":"/wiki/ni-xiang/24.-shi-zhan-ren-ren-shi-pin-po-jie","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"-MfMF4NK0WrqcSeYgbvD","title":"25.解密被加密的数据库文件","pathname":"/wiki/ni-xiang/25.-jie-mi-bei-jia-mi-de-shu-ju-ku-wen-jian","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"逆向"}]},{"id":"bsFvqEWUCB49QOkb40Nj","title":"Flutter","pathname":"/wiki/flutter","siteSpaceId":"sitesp_jvEcL","description":""},{"id":"qEPriEZXnyEOgU32OPIk","title":"01.初见Flutter","pathname":"/wiki/flutter/01.-chu-jian-flutter","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"ktM1AJ76Tjvbx5oESpoo","title":"02.Layout","pathname":"/wiki/flutter/02.layout","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"eZngQ5Jod1fGDOfincMR","title":"03.状态管理","pathname":"/wiki/flutter/03.-zhuang-tai-guan-li","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"r18OKMkk6V2R9XKFp6Qh","title":"04.BottomNavigationBar","pathname":"/wiki/flutter/04.bottomnavigationbar","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"MpwNR9tCn0H8P70mQg9x","title":"05.MaterialApp","pathname":"/wiki/flutter/05.materialapp","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"k5mtQxy00DeQg9FcrtUJ","title":"06.android资源配置","pathname":"/wiki/flutter/06.android-zi-yuan-pei-zhi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"TzsSn9V4dQUE4FjaWehv","title":"07.Positioned与Container嵌套无法充满容器","pathname":"/wiki/flutter/07.positioned-yu-container-qian-tao-wu-fa-chong-man-rong-qi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"1oRe6ve1SCtkMuV4n1HQ","title":"08.Cell点击跳转","pathname":"/wiki/flutter/08.cell-dian-ji-tiao-zhuan","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"KHsjSb0WrMKiMAEX32Bp","title":"09.代码规范","pathname":"/wiki/flutter/09.-dai-ma-gui-fan","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"1aHB0njOvQ7mTKZLTC7u","title":"10.通过联系人Cell看断言","pathname":"/wiki/flutter/10.-tong-guo-lian-xi-ren-cell-kan-duan-yan","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"08xKSUsGLiEfOhD3f13e","title":"11.有状态Widget初始化重写&链式调用&排序","pathname":"/wiki/flutter/11.-tong-guo-lian-xi-ren-lie-biao-kan-you-zhuang-tai-widget-chu-shi-hua-yu-lian-shi-tiao-yong","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"hevjDxU6htL57VMmlKQL","title":"12.索引条：手势及clamp函数","pathname":"/wiki/flutter/12.-suo-yin-tiao-shou-shi-ji-clamp-han-shu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"QUXzHHJj62K01koO6Och","title":"13.ListView滑动到指定位置","pathname":"/wiki/flutter/13.listview-hua-dong-dao-zhi-ding-wei-zhi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"RtJg97b6Etqdh7mLwwrX","title":"14.悬浮菜单列表","pathname":"/wiki/flutter/14.-xuan-fu-cai-dan-lie-biao","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"fHR0FuII2OfON3Jr6TVx","title":"15.Mock数据小技巧","pathname":"/wiki/flutter/15.mock-shu-ju-xiao-ji-qiao","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"Vp7c8VoK3Cln1nHyec9n","title":"16.第三方库导入与网络数据异步请求与展示","pathname":"/wiki/flutter/16.-di-san-fang-ku-dao-ru-yu-wang-luo-shu-ju-yi-bu-qing-qiu-yu-zhan-shi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"E4nTRYVgsBFkszilWnSa","title":"17.请求数据保留","pathname":"/wiki/flutter/17.-qing-qiu-shu-ju-bao-liu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"8SZ6zxAf3apRTZjiv5IC","title":"18.异步编程之Future","pathname":"/wiki/flutter/18.-yi-bu-bian-cheng-zhi-future","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"PvNdYikaeoeSFuXqVJw1","title":"19.Future&Microtask","pathname":"/wiki/flutter/19.future-and-microtask","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"b044DfZ76jwI1i7nFj3P","title":"20.Dart异步编程:Isolates和事件循环","pathname":"/wiki/flutter/20.dart-yi-bu-bian-cheng-isolates-he-shi-jian-xun-huan","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"JvQE8FiPJSaNkL9E6CQT","title":"21.Widget的生命周期","pathname":"/wiki/flutter/21.widget-de-sheng-ming-zhou-qi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"U2ZVEpbyzKUzm0yzklnI","title":"22.Widget树&Render树&Element树","pathname":"/wiki/flutter/22.widget-shu-render-shu-element-shu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"wx0msLpFMPxQyWhjv4yG","title":"23.Key","pathname":"/wiki/flutter/23.key","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"N6qHisOfiEjDqqsWX3Rz","title":"24.调用原生相册","pathname":"/wiki/flutter/24.-tiao-yong-yuan-sheng-xiang-ce","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"snDu7KyNiACWPZ4Qgvev","title":"25.iOS原生嵌入FlutterModule","pathname":"/wiki/flutter/25.ios-yuan-sheng-qian-ru-fluttermodule","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Flutter"}]},{"id":"5cFGQKShixbLcUSdQegq","title":"网络","pathname":"/wiki/wang-luo","siteSpaceId":"sitesp_jvEcL","description":""},{"id":"NMwcGvohCTmIKn6MxkS1","title":"01 网络分层的优点","pathname":"/wiki/wang-luo/01-wang-luo-fen-ceng-de-you-dian","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"网络"}]},{"id":"-MJWEMVKURzPWthl2B6V","title":"02 网络理解","pathname":"/wiki/wang-luo/wang-luo-li-jie","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"网络"}]},{"id":"-MJWEMVLYYslrNaLCSY9","title":"03 iOS-网络安全之HTTPS","pathname":"/wiki/wang-luo/ios-wang-luo-an-quan-zhi-https","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"网络"}]},{"id":"sJny4k2Ft5Z0AABS9tAi","title":"04 POST和GET","pathname":"/wiki/wang-luo/04-post-he-get","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"网络"}]},{"id":"-MJWEMVNUY6RfVnfiMIk","title":"05 SSL-TLS四次握手","pathname":"/wiki/wang-luo/ssltls-si-ci-wo-shou","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"网络"}]},{"id":"9B7lk7VRFxu5xVcGYWYv","title":"直播技术","pathname":"/wiki/zhi-bo-ji-shu","siteSpaceId":"sitesp_jvEcL","description":""},{"id":"-MJWEMVPZeoCBTH8CwGZ","title":"01 直播技术相关","pathname":"/wiki/zhi-bo-ji-shu/zhi-bo-ji-shu-xiang-guan","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"直播技术"}]},{"id":"-MJWEMVQis3zl_AON4JF","title":"Socket-Little-Endian-Big-Endian","pathname":"/wiki/zhi-bo-ji-shu/socket-little-endian-big-endian","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"直播技术"}]},{"id":"sUHkldHp6APypEGsVRjo","title":"知识点梳理","pathname":"/wiki/zhi-shi-dian-shu-li","siteSpaceId":"sitesp_jvEcL","description":""},{"id":"JJy8J7YfN2rSaeC6T63K","title":"01 面试算法题记录01","pathname":"/wiki/zhi-shi-dian-shu-li/01-mian-shi-suan-fa-ti-ji-lu-01","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"知识点梳理"}]},{"id":"-MJWEMVTJFRVf1tHKw0c","title":"02 面试题记录-C语言","pathname":"/wiki/zhi-shi-dian-shu-li/mian-shi-ti-ji-lucyu-yan","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"知识点梳理"}]},{"id":"-MeXKH9LJBTygcy-oz-2","title":"08 一套iOS底层试卷","pathname":"/wiki/zhi-shi-dian-shu-li/yi-tao-ios-di-ceng-shi-juan","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"知识点梳理"}]},{"id":"-MWcJzwrIr4lAOyhccdi","title":"03 知识点梳理：iOS底层","pathname":"/wiki/zhi-shi-dian-shu-li/zhi-shi-dian-shu-li-yi-ios-di-ceng","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"知识点梳理"}]},{"id":"-MWcJzwsxFW19D4RhVQ3","title":"04 知识点梳理：网络","pathname":"/wiki/zhi-shi-dian-shu-li/zhi-shi-dian-shu-li-er-wang-luo","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"知识点梳理"}]},{"id":"-MWcJzwtSsIkokhmxBfe","title":"05 知识点梳理：多线程","pathname":"/wiki/zhi-shi-dian-shu-li/zhi-shi-dian-shu-li-san-duo-xian-cheng","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"知识点梳理"}]},{"id":"-MWOAfrXi4EPl95wgzzg","title":"06 知识点梳理：计算机基础","pathname":"/wiki/zhi-shi-dian-shu-li/zhi-shi-dian-shu-li-si-ji-suan-ji-ji-chu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"知识点梳理"}]},{"id":"-MWcJzwvaW73C_ydRkLu","title":"07 知识点梳理：算法数据结构","pathname":"/wiki/zhi-shi-dian-shu-li/zhi-shi-dian-shu-li-wu-suan-fa-shu-ju-jie-gou","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"知识点梳理"}]},{"id":"AOCIT9zMSxhs1OjO3MDL","title":"09 知识点梳理：HTML和浏览器","pathname":"/wiki/zhi-shi-dian-shu-li/zhi-shi-dian-shu-li-html-liu-lan-qi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"知识点梳理"}]},{"id":"k7DILLAdbFgryvYtwN3G","title":"10 知识点梳理：JavaSctipt","pathname":"/wiki/zhi-shi-dian-shu-li/zhi-shi-dian-shu-li-javascript","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"知识点梳理"}]},{"id":"WzUwaqmFsb3vb7utimrX","title":"Framework","pathname":"/wiki/framework","siteSpaceId":"sitesp_jvEcL","description":""},{"id":"-MJWEMVXwVWy6AZVZFHQ","title":"01 CodeReading-01-YYModel","pathname":"/wiki/framework/codereading-01-yymodel","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Framework"}]},{"id":"-MJWEMVYt1oUNWMUVL6x","title":"02 RYImagePicker-iOS图片视频选择器","pathname":"/wiki/framework/ryimagepickerios-tu-pian-shi-pin-xuan-ze-qi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Framework"}]},{"id":"-MJWEMVZrfb0O3fpPrOq","title":"03 RYImagesScroller-iOS高度自定义的图片轮播器","pathname":"/wiki/framework/ryimagesscrollerios-gao-du-zi-ding-yi-de-tu-pian-lun-bo-qi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Framework"}]},{"id":"-MJWEMV_raWetqs11gxZ","title":"04 RYPhotosBrowser","pathname":"/wiki/framework/ryphotosbrowser","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Framework"}]},{"id":"PC2lTuVrN1uTcVeEbeXf","title":"Issue","pathname":"/wiki/issue","siteSpaceId":"sitesp_jvEcL","description":""},{"id":"-MJWEMVb8qCVOrVG4WDC","title":"01 使用KVC设置UIAlertAction按钮颜色的Crash","pathname":"/wiki/issue/shi-yong-kvc-she-zhi-uialertaction-an-niu-yan-se-de-crash","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Issue"}]},{"id":"-MJWEMVcWsU3Pmkn4_2I","title":"02 iOS-常见崩溃分析","pathname":"/wiki/issue/ios-chang-jian-beng-kui-fen-xi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Issue"}]},{"id":"-MJWEMVd1jaGAuEkGqhZ","title":"03 UICollectionView的一些问题","pathname":"/wiki/issue/uicollectionview-de-yi-xie-wen-ti","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"Issue"}]},{"id":"OkDS8zIPCCL8QB6ryZLz","title":"OpenGL ES","pathname":"/wiki/opengl-es","siteSpaceId":"sitesp_jvEcL","description":""},{"id":"-MVqY0-FHwB5gcputUA8","title":"01.顶点着色器与片元着色器","pathname":"/wiki/opengl-es/01.-ding-dian-zhuo-se-qi-yu-pian-yuan-zhuo-se-qi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"OpenGL ES"}]},{"id":"WxjCQZFkYSkRAN0GPdQL","title":"数据结构与算法","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_jvEcL","description":""},{"id":"OF5LRB2xxBM6EMBVztxI","title":"剑指Offer-Swift","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"}]},{"id":"uWBIyVWWOGMJen5wZdV2","title":"03.找出数组中重复的数字","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/03.-zhao-chu-shu-zu-zhong-zhong-fu-de-shu-zi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"pfScwlILiGGqAH47lY3J","title":"04.二维数组中的查找","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/04.-er-wei-shu-zu-zhong-de-cha-zhao","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"D9scrfhjje0hCuLu7Ab0","title":"05.替换空格","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/05.-ti-huan-kong-ge","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"YeL6jMER3Pp324iPMcga","title":"06.从尾到头打印链表","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/06.-cong-wei-dao-tou-da-yin-lian-biao","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"yW0QDIpMu3P56vnQlHPX","title":"07.重建二叉树","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/07.-zhong-jian-er-cha-shu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-MeEyhaw7prpicZrbvW8","title":"12.矩阵中的路径（回溯法）","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/12.-ju-zhen-zhong-de-lu-jing-hui-su-fa","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-MespmpNvWzTxn9pVi4V","title":"13.机器人的运动范围","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/13.-ji-qi-ren-de-yun-dong-fan-wei","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-MfDvlvVY1-IV0XigKk1","title":"14.I.剪绳子","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/14i.-jian-sheng-zi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-MfYpo60P-UOlsdTob6B","title":"14.II.剪绳子","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/14ii.-jian-sheng-zi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-MeAcaEQ7SsmSPcK8rQp","title":"15.二进制中1的个数（含一个拓展问题）","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/15.-er-jin-zhi-zhong-1-de-ge-shu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-MhGyDlvmfVylg8ELCeI","title":"16.数值的整数次方","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/16.-shu-zhi-de-zheng-shu-ci-fang","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-MflFLuiqiRKEsepQieM","title":"18.删除链表的节点","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/18.-shan-chu-lian-biao-de-jie-dian","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-Me4OvII9FLFMb4akTeW","title":"21.调整数组顺序使奇数位于偶数前面","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/21.-tiao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-MeYEGfwRY8qVP9x129w","title":"22.链表中倒数第k个节点","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/22.-lian-biao-zhong-dao-shu-dikge-jie-dian","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-MeYEGfxqw7jdAN2BQYy","title":"24.反转链表","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/24.-fan-zhuan-lian-biao","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-Me3tfKfdNn4_ZuCAmNQ","title":"25.合并两个排序的链表","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/25.-he-bing-liang-ge-pai-xu-de-lian-biao","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-MgpMmRvn1VAAmV_VITr","title":"26.树的子结构","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/26.-shu-de-zi-jie-gou","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-Me3tfKgeEZsE_tGQKbG","title":"27.二叉树的镜像","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/27.-er-cha-shu-de-jing-xiang","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-Me4OvILTTcS5nCKjcFf","title":"28.对称的二叉树","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/28.-dui-cheng-de-er-cha-shu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-MeUIngDh_-VIAjzO40L","title":"29.顺时针打印矩阵","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/29.-shun-shi-zhen-da-yin-ju-zhen","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-MgJLqjCKsoJ9CyEpNXE","title":"30.包含min函数的栈（容易被误导的一题）","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/30.-bao-han-min-han-shu-de-zhan-rong-yi-bei-wu-dao-de-yi-ti","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-Mi1UySGrP3JBHX5WnNm","title":"31.栈的压入、弹出序列","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/31.-zhan-de-ya-ru-dan-chu-xu-lie","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-MiREv1x09ZkX4BsQ_85","title":"32.I.从上到下打印二叉树","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/32i.-cong-shang-dao-xia-da-yin-er-cha-shu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-MiWFUrR9k3joboQNtNN","title":"32.II.从上到下打印二叉树II","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/32ii.-cong-shang-dao-xia-da-yin-er-cha-shu-ii","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-MiWFUrSjpSQmYNKhGUE","title":"32.III.从上到下打印二叉树III","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/32iii.-cong-shang-dao-xia-da-yin-er-cha-shu-iii","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-MiWFUrTRjQP33Jkou4o","title":"32.从上到下花式打印二叉树","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/32.-cong-shang-dao-xia-hua-shi-da-yin-er-cha-shu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-MiqFfPCGLOh29F-aFrU","title":"33.二叉搜索树的后序遍历序列","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/33.-er-cha-sou-suo-shu-de-hou-xu-bian-li-xu-lie","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-MiuwkjEu8QwPDvLkQqO","title":"34.二叉树中和为某一值的路径","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/34.-er-cha-shu-zhong-he-wei-mou-yi-zhi-de-lu-jing","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-MiyJ91KQbiW04V5rRU0","title":"35.复杂链表的复制(无Swift用例)","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/35.-fu-za-lian-biao-de-fu-zhi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"ZoniJ0L8sDjKwk7LA5EK","title":"36.二叉搜索树与双向链表","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/36.-er-cha-sou-suo-shu-yu-shuang-xiang-lian-biao","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"lsjfz7cLl7biYGYhDKhw","title":"37.序列化二叉树","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/37.-xu-lie-hua-er-cha-shu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"oEdyM4xZPa6CcB5hNdQs","title":"39.数组中出现次数超过一半的数字","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/39.-shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"-Mfm0jQwM76E8Vn-Z9TO","title":"40.最小的k个数","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/40.-zui-xiao-dekge-shu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"d9hmkZO67DUl7x4YCGHO","title":"41.数据流中的中位数","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/41.-shu-ju-liu-zhong-de-zhong-wei-shu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"TdnELgmITLUYCPyUaZvF","title":"42.连续子数组的最大和","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/42.-lian-xu-zi-shu-zu-de-zui-da-he","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"ioHeGwXPuLy26rjpW2WN","title":"43.1～n整数中1出现的次数","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/43.1n-zheng-shu-zhong-1-chu-xian-de-ci-shu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"tyBnUXXqXfV1h1d4k9WW","title":"44.数字序列中某一位的数字","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/44.-shu-zi-xu-lie-zhong-mou-yi-wei-de-shu-zi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"l457gOPgl7Nd5VW4ysju","title":"45.把数组排成最小的数","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/45.-ba-shu-zu-pai-cheng-zui-xiao-de-shu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"J1aiI907lRDypTU9ggKM","title":"46.把数字翻译成字符串","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/46.-ba-shu-zi-fan-yi-cheng-zi-fu-chuan","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"ek2Ieqxh3QJPlY3XljNM","title":"47.礼物的最大价值","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/47.-li-wu-de-zui-da-jia-zhi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"E8ZqKF7eHnlbOWU8NkCb","title":"48.最长不含重复字符的子字符串","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/48.-zui-chang-bu-han-zhong-fu-zi-fu-de-zi-zi-fu-chuan","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"SO9mr4YKyYq3db4IWVHo","title":"50.第一个只出现一次的字符","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/50.-di-yi-ge-zhi-chu-xian-yi-ci-de-zi-fu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"U1BpAkvSYGy8jt31BjJj","title":"52.两个链表的第一个公共节点","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/52.-liang-ge-lian-biao-de-di-yi-ge-gong-gong-jie-dian","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"CStEQmV4LorJwHf3J7B6","title":"53-I.在排序数组中查找数字","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/53i.-zai-pai-xu-shu-zu-zhong-cha-zhao-shu-zi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"UnIWBJpfOkUyKOUl9ZCd","title":"53-II.0～n-1中缺失的数字","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/53ii.0n1-zhong-que-shi-de-shu-zi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"CbFs5bEE5TAf5n9mWNla","title":"54.二叉搜索树的第k大节点","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/54.-er-cha-sou-suo-shu-de-dikda-jie-dian","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"Gvs4EpCODQQpglgtOjoh","title":"55-I.二叉树的深度","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/55i.-er-cha-shu-de-shen-du","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"sDXfpUTIOx7XtK9bzgkE","title":"55-II.平衡二叉树","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/55ii.-ping-heng-er-cha-shu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"LpAkxibvQv9guIN1b0kw","title":"56-I.数组中数字出现的次数","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/56i.-shu-zu-zhong-shu-zi-chu-xian-de-ci-shu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"ZMfce5ofVIxgQjdxTsoC","title":"56-II.数组中数字出现的次数II","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/56ii.-shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-ii","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"Q2kwR9hSvY8c8EhB3iQb","title":"57.和为s的两个数字","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/57.-he-weisde-liang-ge-shu-zi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"03JR26BdZHNAY0hUHY3g","title":"58-I.翻转单词顺序","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/58i.-fan-zhuan-dan-ci-shun-xu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"8FbTRkBLDlbOfQFCnZqP","title":"58-II.左旋转字符串","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/58ii.-zuo-xuan-zhuan-zi-fu-chuan","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"ii0GpFnB2JtStl7hVOPG","title":"59-I.滑动窗口的最大值","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/59i.-hua-dong-chuang-kou-de-zui-da-zhi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"OzoVyobb4lOAQ2XvrmYo","title":"59-II.队列的最大值","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/59ii.-dui-lie-de-zui-da-zhi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"XFQfpk7I8U3a3abAWgdg","title":"60.n个骰子的点数","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/60.n-ge-tou-zi-de-dian-shu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"mA7QzIFPm1bnJyGtpt89","title":"61.扑克牌中的顺子","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/61.-pu-ke-pai-zhong-de-shun-zi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"J2LFDT6dE633QczYkJgF","title":"62.圆圈中最后剩下的数字","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/62.-yuan-quan-zhong-zui-hou-sheng-xia-de-shu-zi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"PZY7oXN4PawlfNF4pHAW","title":"63.股票的最大利润","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/63.-gu-piao-de-zui-da-li-run","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"JuSsfCwBmaEfG1SYHNut","title":"64.求1+2+…+n","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/64.-qiu-1+2++n","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"fAJUou3uiIV60dYsofpp","title":"65.不用加减乘除做加法","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/65.-bu-yong-jia-jian-cheng-chu-zuo-jia-fa","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"YkmMQPpaDPI8MqQGoiFI","title":"66.构建乘积数组","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/66.-gou-jian-cheng-ji-shu-zu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"t4sAsOXCl52YlREZj97q","title":"67.把字符串转换成整数","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/67.-ba-zi-fu-chuan-zhuan-huan-cheng-zheng-shu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"qOByH4U5UggfIe813gh7","title":"68-I.二叉搜索树的最近公共祖先","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/68i.-er-cha-sou-suo-shu-de-zui-jin-gong-gong-zu-xian","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"7L0tG8PHCYQwE54BnKEa","title":"68-II.二叉树的最近公共祖先","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/jian-zhi-offerswift/68ii.-er-cha-shu-de-zui-jin-gong-gong-zu-xian","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"剑指Offer-Swift"}]},{"id":"85uPhMaeuaIJyqmb3Wo2","title":"技巧","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/ji-qiao","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"}]},{"id":"-Me3tfKhY02-8oURI6rc","title":"01.前缀和","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/ji-qiao/01.-qian-zhui-he","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"技巧"}]},{"id":"-Me3tfKipTKXEpMMjF0O","title":"02.同余性质","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/ji-qiao/02.-tong-yu-xing-zhi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"技巧"}]},{"id":"-MfbcMRZPd4bgqlOZfab","title":"03.快速幂","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/ji-qiao/03.-kuai-su-mi","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"技巧"}]},{"id":"TGCIvFa8590krgA9x7Ar","title":"04.快速排序","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/ji-qiao/04.-kuai-su-pai-xu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"技巧"}]},{"id":"hhFeci9t74QOGxwTS8Uk","title":"05.深度优先&广度优先","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/ji-qiao/05.-shen-du-you-xian-guang-du-you-xian","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"技巧"}]},{"id":"fLOAtgceKpgKfWe6Koyo","title":"06.冒泡排序","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/ji-qiao/06.-mao-pao-pai-xu","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"技巧"}]},{"id":"Ws7IpBebhuSjBrbz65do","title":"07.摩尔投票","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/ji-qiao/07.-mo-er-tou-piao","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"技巧"}]},{"id":"JYJvlBAZTGE9PdRV6rmo","title":"08.优先队列","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/ji-qiao/08.-you-xian-dui-lie","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"},{"label":"技巧"}]},{"id":"GsIwxwuPlJlZlBfWAlC3","title":"数据结构","pathname":"/wiki/shu-ju-jie-gou-yu-suan-fa/shu-ju-jie-gou","siteSpaceId":"sitesp_jvEcL","description":"","breadcrumbs":[{"label":"数据结构与算法"}]}]}