{ "node_id": "web-cf0a1cdc3e0546a984632d16bc597275", "keywords": [], "children": [ { "开发准备": { "keywords": [], "children": [ { "iOS 11新特性简述": { "keywords": [], "children": [ { "新增拖放交互编程接口": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-bb7ea48224f2464a950ba5ec42aa62f1" } }, { "其他新增功能": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-4a6d663297914d4f86562cf46112f4e8" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-5d3b11dbbc6d4258a4f006178df172d3" } }, { "iOS开发环境": { "keywords": [], "children": [ { "安装Xcode开发工具": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-6df1a3cedce84984aebf598629d7046a" } }, { "了解Xcode开发工具主界面": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-5b18b2150afd4edcb6f746b2119eca10" } }, { "Xcode开发工具的使用技巧及常用快捷键": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-81692b27510448cf8177ec09597db6a9" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-874e5d02e2e0468a99901c7fe4f021aa" } }, { "创建第一个iOS项目": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-68234b5b47564f5298bf189c0fdd78b2" } }, { "使用Git进行项目版本管理": { "keywords": [], "children": [ { "Git与Github简介": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-bae5a9a6da7149169569163dc9550636" } }, { "注册GitHub会员": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-d447bb2bbf044b7081d7805472c1ad07" } }, { "使用Xcode创建Git仓库": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-bfe0f183194046d99589df72cccd7842" } }, { "用Xcode建立本地Git仓库与GitHub代码托管平台的关联": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-deba47a0d9284460b3cda8583b7d6552" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-b6b019cc55b34e508a2814467c416248" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-ba7110cbcfec448eb9cea1905f345fcb" } }, { "基础UI组件": { "keywords": [], "children": [ { "iOS系统UI框架的介绍": { "keywords": [], "children": [ { "MVC设计模式": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-cf4e6ec3ab6d440f86f2830ad01e1283" } }, { "代理设计模式": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-baff3c4c6bbb49868f3823f0f81f073d" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-51e65deb9d7647409ef2a42d807bbbd5" } }, { "视图控制器——UIViewController": { "keywords": [], "children": [ { "UIViewController的生命周期": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-db462d2c282a4a2aa2896064538567b7" } }, { "UIViewController的视图层级结构": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-42cd21079f0741aa96e7ac6268e9ad49" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-96f92c098ca841988577f98b32858065" } }, { "文本控件——UILabel": { "keywords": [], "children": [ { "使用UILabel在屏幕上创建一个标签控件": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-009ca57f63894204907c377f6915a9a3" } }, { "自定义标签控件的相关属性": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-c8da79b179e0452b8fc28c881707303b" } }, { "多行显示的UILabel控件与换行模式": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-9e7d640df9d8411e9fc915d538964e87" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-fd65f8d6d417417a8c84857e06bae19c" } }, { "按钮控件——UIButton": { "keywords": [], "children": [ { "创建一个按钮改变屏幕颜色": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-1b289c4d436c4f8e923bf164b577fcaa" } }, { "更加多彩的UIButton控件": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-c799dee4f482498a85713996ecb68c88" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-7ad1ddd9b4534bba8d74ec50a198545b" } }, { "文本输入框控件——UITextField": { "keywords": [], "children": [ { "在屏幕上创建一个输入框": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-42e2c2601228436d8ce16cf8d8c733c1" } }, { "UITextField的常用属性介绍": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-f2a80394fb2d411c928805905fb3e34b" } }, { "UITextField的代理方法": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-d94e539cabe24d9088e8f9d2e1e055b6" } }, { "实现一个监听输入信息的用户名输入框": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-b47d2163595e413b93834b47f8e8a7f6" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-c68149ee9da145bcba7fb0f88008def6" } }, { "开关控件——UISwitch": { "keywords": [], "children": [ { "创建一个开关控件": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-8d64123142f4476eb0c45fcdbedac426" } }, { "为UISiwtch控件添加触发方法": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-342ebbb6193b44e1b39caadc089bb138" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-a1f0d80a096d40f6a7b0e941a0c0a3fa" } }, { "分页控制器——UIPageControl": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-0ef310f6ace44ddc90f834cc166b5393" } }, { "分段控制器——UISegmentedControl": { "keywords": [], "children": [ { "UISegmentedControl基本属性的应用": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-e9fa3a24e913451b813d97ab8b5a55e6" } }, { "对UISegmentedControl中的按钮进行增、删、改操作": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-a94c5e95b60d43b0b0777bb9daae63a6" } }, { "UISegmentedControl中按钮宽度的自适应": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-d225625465b74df2b2fa75dbf5ce9e52" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-4be44bc34dd844f79a9d82e9f229dc5b" } }, { "滑块控件——UISlider": { "keywords": [], "children": [ { "UISlider的创建与常规设置": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-11918a46281e4284b784f8c3155bb0af" } }, { "对UISlider添加图片修饰": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-e45f015d970648fd816139f8b1a2b907" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-b536366f7b164d7cb420f6b9e8faefe4" } }, { "活动指示器控件——UIActivityIndicatorView": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-a1d180c1bef74bc399bf6d57a0bf6c56" } }, { "进度条控件——UIProgressView": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-9dc59b48f21c48ac84359eb49f2e5281" } }, { "步进控制器——UIStepper": { "keywords": [], "children": [ { "步进控制器的基本属性使用": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-1baa9158bc074c3aa113036ee9e3b706" } }, { "自定义UIStepper按钮图片": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-0140745357594317be6f2d0c6c059ca1" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-c3db91bfde5a4743a010213492214257" } }, { "选择器控件——UIPickerView": { "keywords": [], "children": [ { "创建一个UIPickerView控件": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-2da3a4b63e1a4d3cb78fed0207c62042" } }, { "UIPickerView选中数据时的回调代理": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-3248ab2c8e9f4133b9a04e0e283257d5" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-388bf478021044cfb6d1b5635397b1d3" } }, { "通过CALayer对视图进行修饰": { "keywords": [], "children": [ { "创建圆角的控件": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-7d919edf67e34960bb24975969f62c11" } }, { "创建带边框的控件": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-b6972541ea814357addfe571bcb7c9ed" } }, { "为控件添加阴影效果": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-99dea625720e40be8c0decd20a97b5ff" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-9b908994b46b4a3b9bf74aa43124d961" } }, { "警告控制器——UIAlertController": { "keywords": [], "children": [ { "UIAlertController的警告框": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-d5bf2e9ebfb34a8594f1269d59bf1e74" } }, { "UIAlertController之活动列表": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-10e3977918174e25b16becf9f4eafcab" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-869b3cb5467b429da9bb4b80f2f9ddfc" } }, { "基础UI控件扩展篇": { "keywords": [], "children": [ { "搜索栏控件——UISearchBar": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-0b5fd70773ea4fdbb93cb41c3312423d" } }, { "日期时间选择器——UIDatePicker": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-7015aba3950e4964ac08b54f6eaadbcb" } }, { "警告视图——UIAlertView": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-c3a800e3399b4af8910bfff8efdce5e5" } }, { "活动列表——UIActionSheet": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-82e3934020d14c029a2bfd61bddc322c" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-f6b29f7075bd4b7294da544fc4456f96" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-777b6a38bb404a6c9a0917ae3cade5d1" } }, { "高级UI控件": { "keywords": [], "children": [ { "导航控制器——UINavigationController": { "keywords": [], "children": [ { "导航控制器的工作原理": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-f38c0a1d04404e8c9c61235bb3c25dd4" } }, { "使用导航控制器进行多界面搭建": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-8aee82da6f9d47e99e402899b2b328fc" } }, { "导航栏UINavigationBar": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-aadd6e187b2441948df85b0f71af086c" } }, { "导航按钮UIBarButtonItem": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-044298250faf4b6cbb667517ed4999a8" } }, { "导航控制器的工具栏": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-b5c586d7af3741f7b86c16d53b8cb869" } }, { "iOS 8系统之后导航控制器的一些有趣功能": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-de17259e49e44068a0a7604c9875b204" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-18f7917d64de4dc6b44738c892086f98" } }, { "标签控制器——UITabBarController": { "keywords": [], "children": [ { "标签控制器的工作原理": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-b84c126730d6440e823cac9774d773f0" } }, { "标签控制器的基础用法解析": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-eb6ea3c65d7441bea91e3ccf311ba4d1" } }, { "关于UITabBarItem的使用": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-c6ee6fc05dc944a9857c96140bf327e5" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-1d4e750538224acc90b06ba395e6acaf" } }, { "滚动视图——UIScrollView": { "keywords": [], "children": [ { "使用UIScrollView展示视图内容": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-6e55fd5a05514fa2af34268cfa1e5d88" } }, { "UIScrollView的代理方法": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-f0000667e0204b57a6ae271e18e98db7" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-70e0ea93841b4eac913e6d32bc6de546" } }, { "网络视图——UIWebView": { "keywords": [], "children": [ { "App网络传输安全策略": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-57e2796755cc465a8326c0443eb8a72a" } }, { "通过网络请求加载UIWebView": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-8c94e4a76de142d09eb5d4da7ca0c17b" } }, { "通过HTML字符串加载UIWebView": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-d08bb652dd5e47d5b470fce8411644fb" } }, { "通过Data数据加载UIWebView": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-15b9f5c49c3843c5afa38283f4184aca" } }, { "UIWebView中常用方法解析": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-6b0208a6f6f2485fa6bcc93b83d38260" } }, { "UIWebView的代理方法": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-c10f7e613c9040e9b948737920a4c78a" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-7549f74816914f7c98f17bfa49fdefe3" } }, { "表格视图——UITableView": { "keywords": [], "children": [ { "UITableView的创建与复用机制": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-420a2a163da94d6da4011841d450a796" } }, { "创建一个表格视图UITableView": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-c779ae7cfc7d4edebac685d9ff558f7f" } }, { "关于表格数据的载体UITableViewCell": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-9cc94935b41143b2bc5443268e781d64" } }, { "设置UITableView的行高和头尾视图": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-2646aa813af6413dae04c66e04e96c7b" } }, { "UITableView的用户交互行为": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-282485a7aa584f01820580f9a14a5c83" } }, { "为UITableView添加索引栏": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-2ae5300845b544e5a9a1668529f1c1ed" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-77065a6e43334ac2ad006bb45104e977" } }, { "复杂布局视图——UICollectionView": { "keywords": [], "children": [ { "UICollectionView控件的优势与布局方式": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-f3c70635409648d88d88e45f6633bb44" } }, { "使用UICollectionView进行九宫格式的布局": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-71e467aba2204b15a7336c9c97bd9ea0" } }, { "创建更加灵活的流式布局": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-77965851a0354ead9cc4a4daac80f516" } }, { "自定义UICollectionViewFlowLayout进行参差瀑布流布局": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-2c9a04921b7640d6924223ae6a9f8761" } }, { "使用UICollectionView进行圆环布局": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-59c033f86c8e4b9c9fc6c0df325baaa5" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-8344031ce6cd4899a7a13e2f9b1a8703" } }, { "扩展内容": { "keywords": [], "children": [ { "应用内评价组件": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-aed96bdbff774cbe95a391d002e9814c" } }, { "进行系统拨号与短信界面的调用": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-a9af6c17ca6c43b1b56e9d516d140166" } }, { "拖拽交互体验": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-b8c588547ed54a6196bcb659246bed1b" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-acba4d0c1b574f828c543b316a58a932" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-06d68bbee1614c8fa29958ef4605d333" } }, { "网络编程技术": { "keywords": [], "children": [ { "使用NSURLConnection请求网络数据": { "keywords": [], "children": [ { "申请一个免费的API服务": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-84e66763f8a74594a39003603b4cf929" } }, { "使用NSURLConnection进行API服务数据的获取": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-b3d5ac04c0934a08b7eab8a6cda3025f" } }, { "使用NSURLConnection进行异步网络请求": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-fa6fcb4d681145f296a0a136cf23d521" } }, { "使用NSURLConnection类通过代理回调的方式异步请求": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-eb11b448f94c4ccf9580450de5f467c4" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-fc46ff16727745b8afe113628bab62d1" } }, { "设计封装一个更加易用的网络请求类": { "keywords": [], "children": [ { "设计自定义的网络请求连接类": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-fe93b678d0084d4aa6c06b3b80972b6b" } }, { "设计自定义的网络请求管理类": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-dd0fff00c3414e65806c4c0f342a52d8" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-c8fb8a96e4c84e5db13594c7c8644e8b" } }, { "JSON类型数据的解析与数据模型的设计": { "keywords": [], "children": [ { "JSON数据简介": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-1667504063404ced9bcef9fe59b72744" } }, { "在iOS中解析JSON数据": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-022e8ef74f744ef792af687a6021c54b" } }, { "数据模型Model类的设计": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-6106bb24e9f943399df8de0ad7cb4adb" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-d01b75fe49fa41ca96c3f444dbb60252" } }, { "使用CocoaPods进行第三方库的管理": { "keywords": [], "children": [ { "在MAC上安装CocoaPods工具": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-09905bf4f732495c8fb956f1bfe7ed14" } }, { "用CocoaPods搭建一个使用第三方网络请求框架AlamoFire的工程": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-96b8f31e0b904ea5b74333c24e11ef1e" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-5e8b75236eec4e14bef2b3190059f9a2" } }, { "使用AlamoFire进行网络请求": { "keywords": [], "children": [ { "详解HTTP/HTTPS协议": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-84d02f58c4b04d148f9f183c336d5e35" } }, { "使用AlamoFire进行网络请求": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-a7abb99bec7243a4aafed42d8a295529" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-77c0b83a26f840929ce21b8a4fff1aa4" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-d0a95441c00d41bfb0081e0bd419a445" } }, { "音频、视频开发技术": { "keywords": [], "children": [ { "iOS音频开发基础——AVAudioPlayer类的使用": { "keywords": [], "children": [ { "使用AVAudioPlayer进行MP3音频文件的播放": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-1a7439c6ffd44e3fbf9b7c41872db7b1" } }, { "进行音频播放相关属性的控制": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-f359674b7445400aa0abae0c56ebb072" } }, { "后台播放音频及用户交互的优化": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-f946e5a5718b4f0fb06657742697e2c5" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-012e1ecb625f41d2ad43e464a75378a4" } }, { "iOS视频开发基础": { "keywords": [], "children": [ { "使用MPMoviePlayerController向应用中嵌入视频模块": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-3d4a2f497ef749bc9a4b20824a9a32ab" } }, { "MPMoviePlayerController常用属性与方法解析": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-7b817cd8036b42119a1f72128413752b" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-1e3e1181214c43389ff46161634fc4dd" } }, { "视频播放器视图控制器——MPMoviePlayerViewController": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-a23a23bc3a804e1196e8def270b5ba8a" } }, { "AVPlayViewController视频播放框架与画中画开发技术": { "keywords": [], "children": [ { "使用AVPlayerViewController进行视频播放": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-15b6d27f325d4bd28adc1b35a4b33dd1" } }, { "iPad的画中画播放技术": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-8e37f8817d6b4a52bcb6615afbdf8d41" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-dc7c288d1bac4f3c815f523b1b4ac574" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-b63650cc90c84e65be40df0c9fb8ceb3" } }, { "动画开发技术": { "keywords": [], "children": [ { "使用UIImageView播放图片组帧动画": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-dfa29d68911a45bda4487746d70a732d" } }, { "UIView层动画的应用": { "keywords": [], "children": [ { "执行UIView层过渡动画的3个类方法": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-3b3405b9ed3a4f63a3940b9a3fd06545" } }, { "创建UIView层的阻尼动画": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-008aa96565164e99a2f02d5351637b1d" } }, { "动画参数配置与组合动画": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-b2c0d64c16204dffb44bd6b14d47c341" } }, { "UIView层过渡动画支持的属性": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-888278559c3042688a5cbbadf54d44a4" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-92881eff561e4501a9b9f4225cc0bef4" } }, { "使用commit方式进行UIView层动画的创建": { "keywords": [], "children": [ { "使用commit方式进行UIView层过渡动画的创建": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-63cc2cff9696496c9c765f7eeb8f0d37" } }, { "两种UIView层动画创建方式的优劣": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-2c619e12dc95493ea63d9693ba468f95" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-bb4b0c9aca804933ab0ed2c96dc5b193" } }, { "UIView的转场动画": { "keywords": [], "children": [ { "重绘UIView视图时使用的转场动画": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-da7d46f4043b46aa9ecae483d10bfe15" } }, { "切换UIView视图时使用的转场动画": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-4897b91f06f24000bd117182fd37d0ed" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-176aa9b1a27b474e80a2f5bc9c1fe6cd" } }, { "核心动画编程技术——CoreAnimation": { "keywords": [], "children": [ { "锚点对视图控件几何位置的影响": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-61432aa124eb492fbd6c5724aff887c3" } }, { "色彩梯度层——CAGradientLayer": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-7e8f644f6d63424990b2715c848d951a" } }, { "视图拷贝层——CAReplicatorLayer": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-dbc75d8f29b845b3b50ca6a4ba8d9cdd" } }, { "图形渲染层——CAShapeLayer": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-d997e33b52cb4049ab78eb5306381456" } }, { "文本绘制层——CATextLayer": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-3350da71c6cc44438ec570eec402840b" } }, { "CAAnimation动画体系介绍": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-d133e860f9264a4da89f6ddd2daedc82" } }, { "使用CABasicAnimation创建基础动画": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-15c6fe7f7cd54f9f888147e080f14e80" } }, { "使用CAKeyframeAnimation类创建关键帧动画": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-4a676928b146406294f8970d361e247c" } }, { "CALayer层的转场动画——CATransition": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-a6b15ffd0b5b4f3d81608fbc9415cbe1" } }, { "CALayer层的组合动画——CAAnimationGroup": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-16e8b4af0eda4334a44f5a2a174aafdc" } }, { "CATransform3D变换的应用": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-62775f72e8104d58831cf0f384c8a934" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-981a8b7ce794497e934a10e261dba633" } }, { "炫酷的粒子效果": { "keywords": [], "children": [ { "粒子发射器——CAEmitterLayer": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-b18946bc8a374cf5a8d02d4f63b7bfc2" } }, { "粒子单元——CAEmitterCell": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-edea3a3b96d44ababd81ac29409aac6c" } }, { "创建粒子火焰动画": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-4d5e1ec170d442c48e6e5e628eed440e" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-ee301a7c90ab4dab8db877fff8654bf6" } }, { "播放GIF动态图": { "keywords": [], "children": [ { "使用UIWebView进行GIF动态图播放": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-69ac321316a14d96a5b200db1a34dd0a" } }, { "使用UIImageView帧动画进行GIF动态图播放": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-80188b54ac854b208d5e772932d6d642" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-0e91b2ad17e04d5d86cb18c66aca3202" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-41acaf892c104e4a8781c4d1748e19f9" } }, { "传感器开发技术": { "keywords": [], "children": [ { "为应用程序添加手机密码及指纹识别的安全验证": { "keywords": [], "children": [ { "使用手机密码为应用程序添加安全验证": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-f065850661064d1ab09d4ea1e806a7ac" } }, { "使用用户指纹为应用程序添加安全验证": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-1840d432cde84fdf92e220e3d9ab6f76" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-d3d65ae7f1e64eb69aaffd04bbf17c3f" } }, { "使用加速度传感器、螺旋仪传感器与磁力传感器获取设备空间状态": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-228f916e80994227a9399cac52554f01" } }, { "距离传感器的应用": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-f31076ab6f304b338a49b651cd54dcac" } }, { "iOS蓝牙开发技术": { "keywords": [], "children": [ { "中心设备管理类CBCentealManager": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-d7ebd785497341409938bfc7acbccaca" } }, { "外围设备管理类CBPeripheraManager": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-11c33536edf74bd8be438ed5b49b4db8" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-fa5b460c39804725911381a66902fe91" } }, { "GPS应用与地图编程技术": { "keywords": [], "children": [ { "进行设备地理位置定位": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-5b57d3bd0e504a3e9b558ff6ca694914" } }, { "原生地图开发技术": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-a0d2537a56b344309a845f183c8afa90" } }, { "在地图中添加大头针及标注": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-85da611fb8604a3da8201337ca85cf73" } }, { "在地图视图中添加覆盖物": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-10e8f63ed2e7438c828d7942107b12fd" } }, { "在地图中进行线路导航与附近兴趣点检索": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-1a08aff7939e44a281a8475da93e49fc" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-56b27d0241ab41678ccc6f333af256f1" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-b19179ab83254de28662bbe4eb0973ea" } }, { "界面布局技术": { "keywords": [], "children": [ { "iOS中传统的UIViewAutoresizing布局模式": { "keywords": [], "children": [ { "通过代码设置视图控件的UIViewAutoresizing模式": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-ee058e60ceb9425d9a96529d10dc9a0c" } }, { "在xib文件中可视化地配置控件的autoresizing属性": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-9bcd9b6c8b224e70be9ce7c0d022bea5" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-a42590eafd4c4b209e9d6a760adff422" } }, { "autolayout自动布局框架": { "keywords": [], "children": [ { "初识autolayout": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-bde0bc5537fd4b77b03f4331b21c9e73" } }, { "autolayout的属性意义与一个简单的自动布局示例": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-f1c26e8b6d584a0b9438bad55bcaac1a" } }, { "使用代码进行autolayout布局": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-df03d0e0445c4cd3bfe18f252eceb42b" } }, { "使用格式化的字符串进行autolayout布局对象的创建": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-85ca551884e24540bfca90e35c8c9dd2" } }, { "与约束相关的几个方法": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-5e99112e7bbf4cb78188b9a1f3e5cca7" } }, { "使用autolayout设计一个高度自适应的聊天输入框及动画优化": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-7664188b61f24874a200a81542f88a2d" } }, { "使用第三方库SnapKit进行autolayout约束布局": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-9da9d84f8cc84649a4ea62e7674709ad" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-37c69566ad80487ab478c1043a7745a9" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-84c7d5a1e2ee4671818d30ded2ad7fd3" } }, { "数据持久化技术": { "keywords": [], "children": [ { "使用plist文件进行轻量级数据持久化管理": { "keywords": [], "children": [ { "在工程中读取Plist文件数据": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-57d9912452284868af9ad2e9ab12abcf" } }, { "在程序沙盒Documents目录中创建和使用plist文件": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-276785e4fa7946d38f21f121edd9c88d" } }, { "使用NSUserDefaults类进行数据持久化": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-e19a44b4dfcc485b9ce3f92a751c63eb" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-2a3d1bd488ee4e32ba19a1ee7913ddba" } }, { "使用归档技术进行数据模型持久化": { "keywords": [], "children": [ { "进行单一系统数据类型的归档与解归档操作": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-1e21b63406e74eba9e00fe9952a3635e" } }, { "对多个对象进行数据归档": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-1e02131b3f9c43f6831d52229cfb2a3f" } }, { "进行自定义数据模型的归档": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-1dd436d8089145a991e49bccd95e7a88" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-6149437f064647adab13e71ed1584afa" } }, { "小型数据库SQLite在iOS开发中的应用": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-daccf34888e94472b80c7a94692e1cd0" } }, { "核心数据管理框架CoreData的使用": { "keywords": [], "children": [ { "使用CoreData设计数据模型": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-9eb4706f688944e2a27046e7a1299d67" } }, { "CoreData编程框架中3个重要的类": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-e0ce2ccfec8142fda7fbdb60eb35a57f" } }, { "CoreData编程框架的数据操作": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-6fe7bd2b90d34cbea6d9b01dd5a7b8b1" } }, { "使用CoreData进行数据与页面的绑定": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-f120484a8e654cf4a56f39070feaeed2" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-89d37dc2a81b4f2ea42499cf8965293c" } }, { "网络缓存策略": { "keywords": [], "children": [ { "为网络请求设置缓存策略": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-2ea31339441642d08ec1d7e86a98425d" } }, { "应用缓存管理类NSURLCache简介": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-99247853131e4acfb9de965a20efa7aa" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-08290707825148b7877745593c588b53" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-618c87920cc44112b6e1ae5f24b1d70f" } }, { "提交应用程序到App Store": { "keywords": [], "children": [ { "使用Xcode开发工具进行程序调试": { "keywords": [], "children": [ { "使用自定义断点进行代码调试": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-9b9ee2feb11d45c987d3cec7d1f105f3" } }, { "添加全局异常断点": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-a94b0236b5054180bde8294c9673d783" } }, { "使用LLDB调试器进行程序调试": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-718b847ed1cc48c295ef9bc39a181e0a" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-5e183163832549c6a7e995f5ad862b0d" } }, { "Apple开发者账号的申请": { "keywords": [], "children": [ { "几种类型的开发者账号": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-334470aca3fb4e60987e57c648b27fbd" } }, { "申请开发者账号的过程": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-7ece940ff6bf4a3797a8e6c690e550be" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-d19b7c39758a4a879f6220c478923201" } }, { "进行应用程序打包": { "keywords": [], "children": [ { "在iTunes Connect中进行应用的创建与配置": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-03c741068e9a4e648fd3b1cdff6020d8" } }, { "使用Xcode打包与提交iTunes": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-cf4f2f064bc24841b9f8f81863f800bc" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-d03752620f0d421782dcadcfbaa14023" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-227933de3c234179bb17a2455777e913" } }, { "更多功能与进阶技巧": { "keywords": [], "children": [ { "iOS通知中心NotificaitonCenter的应用": { "keywords": [], "children": [ { "通知类Notification简介": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-66a13e42576c4abeb63ad4a34bf20e56" } }, { "通知中心NotificationCenter应用": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-a4115cbc9b074d74bdea30a21fd16d5b" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-3bbcc72284cd4650ba94a38fd7b955dc" } }, { "多线程开发技术": { "keywords": [], "children": [ { "使用Thread进行线程管理": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-e443e192d70243e4b8db993134b21467" } }, { "使用Operation类与OperationQueue类进行多任务管理": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-a9bbd6cbb6234f319049ff0a28810c63" } }, { "iOS中GCD编程技术简介": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-87339f07f7164d7e9cfa713737db4487" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-f887c473711e4bb28a57f76edf7e20f2" } }, { "3D Touch技术的应用": { "keywords": [], "children": [ { "3D Touch的3大模块": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-155d3df69b9e4358be7f472404c86f84" } }, { "Home Screen Quick Action使用与相关API详解": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-30ef433500794d88a771cc9d48a276f3" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-93794c6707274abaa65437e48b5c7628" } }, { "iOS中语音识别技术的应用": { "keywords": [], "children": [ { "SpeechFramework框架中的重要类": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-4bdbdf3a6a68403a8d6a2302776afeeb" } }, { "申请用户语音识别权限与进行语音识别请求": { "keywords": [], "children": [], "keywords_must": [], "keywords_forbid": [], "node_id": "web-45d9604b23594eaeb679fb3545f6fbbd" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-8b14d3f17b8b4a01911491de15e6f186" } } ], "keywords_must": [], "keywords_forbid": [], "node_id": "web-ef7fb7802e514ecda4127e5a15c6dacc" } } ], "export": [], "keywords_must": [], "keywords_forbid": [] }