您好,欢迎光临有路网!
iOS移动开发从入门到精通
QQ咨询:
有路璐璐:

iOS移动开发从入门到精通

  • 作者:李发展
  • 出版社:清华大学出版社
  • ISBN:9787302462026
  • 出版日期:2017年03月01日
  • 页数:582
  • 定价:¥99.00
  • 猜你也喜欢

    分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    文章节选
    目 录

    第1章 开发准备 1
    1.1 iOS移动开发现状 2
    1.1.1 iOS的历史 2
    1.1.2 iOS 10的十大变化 4
    1.1.3 iOS应用开发的八个特点 5
    1.2 iOS 10的新功能 5
    1.2.1 SiriKit 6
    1.2.2 Proactive Suggestions
    (预建议) 6
    1.2.3 Integrating with the Messages
    App 7
    1.2.4 User Notifications 7<p>目 录</p> <p> </p> <p>第1章 开发准备 1</p> <p>1.1 iOS移动开发现状 2</p> <p>1.1.1 iOS的历史 2</p> <p>1.1.2 iOS 10的十大变化 4</p> <p>1.1.3 iOS应用开发的八个特点 5</p> <p>1.2 iOS 10的新功能 5</p> <p>1.2.1 SiriKit 6</p> <p>1.2.2 Proactive Suggestions</p> <p>(预建议) 6</p> <p>1.2.3 Integrating with the Messages </p> <p>App 7</p> <p>1.2.4 User Notifications 7</p> <p>1.2.5 Speech Recognition 8</p> <p>1.2.6 Wide Color 9</p> <p>1.2.7 Adapting to the True Tone </p> <p>Display 9</p> <p>1.2.8 Widget Enhancements 9</p> <p>1.2.9 Security and Privacy </p> <p>Enhancements 9</p> <p>1.3 成为一名iOS*** 11</p> <p>1.3.1 硬件上的需求 11</p> <p>1.3.2 加入Apple***计划 11</p> <p>1.3.3 下载安装Xcode和模拟器 13</p> <p>1.3.4 创建开发和发布配置文件Provisioning Profile 14</p> <p>1.4 创建一个基本的iOS项目 17</p> <p>1.4.1 项目的创建 17</p> <p>1.4.2 设置项目的信息 19</p> <p>1.4.3 设置应用的Icon图标 19</p> <p>1.4.4 设置应用的Launch图片 20</p> <p>1.4.5 编译并运行项目 22</p> <p>1.5 iOS应用的生命周期 23</p> <p>1.5.1 iOS应用程序的状态 24</p> <p>1.5.2 演示iOS应用程序的各种</p> <p>状态 25</p> <p>1.6 小结 26</p> <p>第2章 Xcode 8 IDE和iOS模拟器 27</p> <p>2.1 Xcode 8的使用 28</p> <p>2.1.1 工具栏的使用 28</p> <p>2.1.2 导航器的功能介绍 29</p> <p>2.1.3 项目导航器中的内容 30</p> <p>2.1.4 创建一个组和Swift文件 30</p> <p>2.1.5 在项目中搜索文件 33</p> <p>2.1.6 代码的查找和替换 36</p> <p>2.1.7 代码的Debug调试 36</p> <p>2.2 iOS模拟器的使用 39</p> <p>2.2.1 使用多种iOS模拟器 39</p> <p>2.2.2 iOS模拟器方向的切换 40</p> <p>2.2.3 iOS模拟器语言的切换 40</p> <p>2.2.4 截取模拟器屏幕 41</p> <p>2.2.5 应用程序的退出和删除 41</p> <p>2.3 小结 42</p> <p>第3章 Swift 3.0的基础知识 43</p> <p>3.1 Swift的基本概念 44</p> <p>3.1.1 Swift语言的特点 44</p> <p>3.1.2 Swift常量和变量的定义 45</p> <p>3.1.3 常量和变量的输出 46</p> <p>3.1.4 注释 47</p> <p>3.1.5 Playground 47</p> <p>3.2 数据类型与运算 49</p> <p>3.2.1 布尔类型 49</p> <p>3.2.2 Int类型及实例属性 50</p> <p>3.2.3 浮点类型及实例属性 51</p> <p>3.2.4 字符和字符串 51</p> <p>3.2.5 元组类型 54</p> <p>3.2.6 一元、二元和三元运算符 55</p> <p>3.2.7 比较运算符 56</p> <p>3.3 循环语句和条件判断语句 57</p> <p>3.3.1 for循环 57</p> <p>3.3.2 while循环语句 58</p> <p>3.3.3 repeat-while循环语句 59</p> <p>3.3.4 if条件判断语句 60</p> <p>3.3.5 switch条件判断语句 60</p> <p>3.3.6 continue语句和forthrough</p> <p>语句 61</p> <p>3.4 数组和字典 62</p> <p>3.4.1 数组 62</p> <p>3.4.2 多维数组 64</p> <p>3.4.3 数组的遍历 65</p> <p>3.4.4 字典 66</p> <p>3.5 小结 68</p> <p>��4章 Swift 3.0的进阶内容 69</p> <p>4.1 函数 70</p> <p>4.1.1 函数的定义和调用 70</p> <p>4.1.2 为参数设置默认值 71</p> <p>4.1.3 设置可变的函数参数数量 71</p> <p>4.1.4 函数作为参数和返回类型 72</p> <p>4.1.5 元组作为函数的返回类型,</p> <p>实现多个返回值 74</p> <p>4.1.6 使用函数类型 74</p> <p>4.1.7 函数的输入输出参数 75</p> <p>4.1.8 函数的嵌套 76</p> <p>4.1.9 函数的递归用法 76</p> <p>4.1.10 常用的内置函数 77</p> <p>4.2 枚举和结构体 79</p> <p>4.2.1 枚举 79</p> <p>4.2.2 结构体 83</p> <p>4.3 类 85</p> <p>4.3.1 类的创建 85</p> <p>4.3.2 类属性的set和get方法 88</p> <p>4.3.3 类属性的willSet和didSet</p> <p>方法 89</p> <p>4.3.4 类的静态方法 90</p> <p>4.3.5 类的析构 91</p> <p>4.3.6 类的继承 92</p> <p>4.3.7 类的延迟加载属性lazy 93</p> <p>4.3.8 类的引用特征 95</p> <p>4.3.9 类型检查 95</p> <p>4.3.10 Any和Anyobject 98</p> <p>4.4 扩展、协议和其他 99</p> <p>4.4.1 扩展 99</p> <p>4.4.2 协议 101</p> <p>4.4.3 问号?和感叹号! 103</p> <p>4.5 小结 105</p> <p>第5章 视图UIView和层CALayer 106</p> <p>5.1 视图UIView 107</p> <p>5.1.1 UIView概述 107</p> <p>5.1.2 UIView的外观属性 109</p> <p>5.1.3 UIView的几何属性 112</p> <p>5.1.4 UIView的嵌套和层次关系 114</p> <p>5.1.5 UIView的交互属性 116</p> <p>5.1.6 UIView的变形操作 118</p> <p>5.1.7 自定义UIView视图 120</p> <p>5.2 CALayer层 124</p> <p>5.2.1 CALayer边框 124</p> <p>5.2.2 CALayer阴影 125</p> <p>5.2.3 CALayer圆角 126</p> <p>5.2.4 CALayer渐变 127</p> <p>5.3 小结 129</p> <p>第6章 视图控制器UIViewController 130</p> <p>6.1 UIViewController视图控制器概述 131</p> <p>6.1.1 视图控制器与MVC 131</p> <p>6.1.2 创建一个视图控制器 132</p> <p>6.1.3 以模态方式弹出视图控制器 136</p> <p>6.1.4 视图控制器的生命周期 139</p> <p>6.1.5 视图控制器和UIScrollView 141</p> <p> </p> <p>6.2 UITabBarController 145</p> <p>6.2.1 创建一个UITabBarController 145</p> <p>6.2.2 改变Tab bar的位置 147</p> <p>6.2.3 改变UITabBarController</p> <p>索引 149</p> <p>6.2.4 在Tab图标上显示角标 149</p> <p>6.3 UINavigationController 150</p> <p>6.3.1 创建一个UINavigationController</p> <p> 151</p> <p>6.3.2 UINavigationController视图</p> <p>入栈和出栈 153</p> <p>6.3.3 导航栏和工具栏的显示和</p> <p>隐藏 157</p> <p>6.3.4 导航栏样式的修改 157</p> <p>6.4 导航控制器和标签控制器 158</p> <p>6.5 小结 161</p> <p>第7章 常用经典控件 162</p> <p>7.1 控件概述 163</p> <p>7.1.1 何为Target-Action机制 163</p> <p>7.1.2 UIControl类的方法和属性 165</p> <p>7.1.3 让我们一起动手来实现一个UIControl吧 167</p> <p>7.2 UIButton的概述 168</p> <p>7.3 UILabel文本视图 171</p> <p>7.3.1 UILabel的创建和文案显示 172</p> <p>7.3.2 UILabel处理过长的文案 173</p> <p>7.3.3 UILabel的阴影 174</p> <p>7.4 UISwitch开关视图 175</p> <p>7.4.1 UISwitch的创建 175</p> <p>7.4.2 UISwitch的开关使用 176</p> <p>7.5 UIRefreshControl 刷新控件 176</p> <p>7.6 UITextField文本框控件 178</p> <p>7.6.1 UITextField的创建和基本</p> <p>应用 179</p> <p>7.6.2 UITextField的背景图 180</p> <p> </p> <p> </p> <p>7.6.3 UITextField的浮动视图(Overlay view) 181</p> <p>7.6.4 UITextField的代理UITextFieldDelegate 183</p> <p>7.7 小结 185</p> <p>第8章 UITableView和UICollectionView</p> <p> 186</p> <p>8.1 UITableView概述 187</p> <p>8.1.1 UITableViewCell单元格 187</p> <p>8.1.2 创建一个简单的表格 189</p> <p>8.1.3 自定义单元格UITableViewCell</p> <p> 193</p> <p>8.1.4 自定义单元格的高度 196</p> <p>8.1.5 给表格添加章节和索引 198</p> <p>8.1.6 单元格的选择与取消选择 201</p> <p>8.1.7 单元格的插入和删除 204</p> <p>8.1.8 移动单元格的位置 209</p> <p>8.1.9 表格之间的嵌套 213</p> <p>8.2 UICollectionView概述 219</p> <p>8.2.1 UICollectionView的实现</p> <p>原理 220</p> <p>8.2.2 创建一个 UICollectionView对象并添加点击事件 221</p> <p>8.3 小结 225</p> <p>第9章 触屏事件和触摸手势 226</p> <p>9.1 触摸事件的监测 227</p> <p>9.1.1 对触摸事件阶段的监测 227</p> <p>9.1.2 监测是否触摸到某个视图 229</p> <p>9.1.3 实现图像视图的拖动 231</p> <p>9.2 触摸手势的使用 232</p> <p>9.2.1 实现单点触摸手势 233</p> <p>9.2.2 实现双击触摸手势 235</p> <p>9.2.3 实现长按手势的监测 236</p> <p>9.2.4 捏合手势的监测 238</p> <p>9.3 3D Touch的使用 239</p> <p>9.4 小结 242</p> <p>第10章 动画、声音与视频 243</p> <p>10.1 制作动画 244</p> <p>10.1.1 UIView的动画 244</p> <p>10.1.2 使用UIImageView播放帧</p> <p>动画 249</p> <p>10.1.3 位移关键帧动画的制作 251</p> <p>10.2 音频的播放 254</p> <p>10.2.1 使用System Sound Services</p> <p>播放简短声音 255</p> <p>10.2.2 使用AVAudioPlayer播放</p> <p>音乐 256</p> <p>10.3 视频的播放 260</p> <p>10.3.1 使用AVPlayer播放影片 260</p> <p>10.3.2 实现影片的画中画功能 262</p> <p>10.4 小结 265</p> <p>第11章 Alamofire网络请求框架 266</p> <p>11.1 Alamofire的前世今生 267</p> <p>11.1.1 Alamofire的手动集成 267</p> <p>11.1.2 Alamofire的网络是否联通和</p> <p>连接方式 269</p> <p>11.1.3 Alamofire的GET和POST</p> <p>请求 272</p> <p>11.1.4 Alamofire的文件上传及</p> <p>进度显示 274</p> <p>11.1.5 Alamofire的文件下载及</p> <p>进度显示 278</p> <p>11.2 小结 279</p> <p>第12章 UIWebView与HTML 5技术 280</p> <p>12.1 UIWebView的使用 281</p> <p>12.1.1 使用UIWebView加载网页 281</p> <p>12.1.2 使用UIWebView加载HTML</p> <p>字符串和GIF动画 283</p> <p>12.1.3 使用UIWebView加载本地</p> <p>网页 286</p> <p>12.1.4 使用Javascript回调原生</p> <p>程序 289</p> <p>12.2 创建一个简单的笔记本 292</p> <p>12.2.1 创建一个可编辑的div 292</p> <p>12.2.2 设置网页的CSS样式 293</p> <p>12.2.3 添加插入笔记图片的方法 294</p> <p>12.2.4 添加删除图片和获得笔记的</p> <p>方法 295</p> <p>12.2.5 实现笔记本的用户界面 296</p> <p>12.3 小结 298</p> <p>第13章 数据的持久化 299</p> <p>13.1 解析plist文件 300</p> <p>13.1.1 创建和解析plist文件 300</p> <p>13.1.2 将信息写入plist文件 303</p> <p>13.2 使用CoreData进行数据的持久化 304</p> <p>13.2.1 创建Core Data实体并插入</p> <p>数据 306</p> <p>13.2.2 检索Core Data中的数据 308</p> <p>13.2.3 修改和删除Core Data数据 310</p> <p>13.3 小结 312</p> <p>第14章 多线程技术 313</p> <p>14.1 多线程的概念 314</p> <p>14.1.1 任务、进程和线程 314</p> <p>14.1.2 线程的Stack space 315</p> <p>14.1.3 线程的优先级 315</p> <p>14.1.4 线程的生命周期 315</p> <p>14.1.5 线程和Run loop 316</p> <p>14.2 使用Thread 316</p> <p>14.2.1 创建Thread下载图片 317</p> <p>14.2.2 给Thread加锁使线程同步 319</p> <p>14.3 Operation技术的使用 322</p> <p>14.4 Grand Central Dispatch的使用 325</p> <p>14.4.1 使用GCD查询IP地址</p> <p>信息 326</p> <p>14.4.2 DispatchGroup调度组的</p> <p>使用 328</p> <p>14.5 小结 329</p> <p>第15章 MapKit地图 330</p> <p>15.1 Map Kit的概念 331</p> <p>15.1.1 MKMapView的显示区域 331</p> <p>15.1.2 MKMapView的跟踪和</p> <p>定位 332</p> <p>15.1.3 MKMapView的交互选项和</p> <p>装饰物 333</p> <p>15.1.4 创建一个MKMapView</p> <p>地图 333</p> <p>15.1.5 MKMapView代理的使用 335</p> <p>15.1.6 自定义annotationView和</p> <p>calloutView 337</p> <p>15.1.7 Camera相机的使用 341</p> <p>15.2 小结 342</p> <p>第16章 iOS的图文混排技术 343</p> <p>16.1 Core Text的使用 344</p> <p>16.1.1 文字排版方面的一些基本</p> <p>概念 344</p> <p>16.1.2 列出设备中的所有字体 346</p> <p>16.1.3 富文本的创建 347</p> <p>16.1.4 图文混排的实现 350</p> <p>16.2 Text Kit的使用 354</p> <p>16.2.1 使用Text Kit对文字进行</p> <p>分栏 354</p> <p>16.2.2 使用Text Kit制作图文混排</p> <p>效果 357</p> <p>16.3 小结 359</p> <p>第17章 iOS的图像和视频处理技术 360</p> <p>17.1 Core Image概述 361</p> <p>17.1.1 使用Core Image的三个类</p> <p>制作单色调效果 362</p> <p>17.1.2 使用Core Image给图片添加</p> <p>马赛克 363</p> <p>17.1.3 使用Core Image处理视频</p> <p>画面 364</p> <p>17.1.4 输出Core Image的所有</p> <p>滤镜 369</p> <p>17.1.5 使用CIDetector和CIFeature</p> <p>进行人脸检测 370</p> <p>17.2 UIBlurEffect和CGBlendMode 372</p> <p>17.2.1 使用UIBlurEffect实现毛玻璃</p> <p>效果 372</p> <p>17.2.2 使用CGBlendMode实现颜色</p> <p>混合效果 373</p> <p>17.3 小结 376</p> <p>第18章 iOS常用设备的使用 377</p> <p>18.1 Photos和Camera的使用 378</p> <p>18.1.1 读取Photos中的图片 378</p> <p>18.1.2 调用相机拍摄照片 382</p> <p>18.2 定位设备的使用 384</p> <p>18.2.1 使用定位设备获取设备地理</p> <p>位置 385</p> <p>18.2.2 将地理坐标转换为实际</p> <p>地名 388</p> <p>18.3 陀螺仪和加速计设备的使用 390</p> <p>18.3.1 陀螺仪的原理和应用 390</p> <p>18.3.2 加速计的原理和应用 390</p> <p>18.3.3 检测iOS设备的晃动 391</p> <p>18.4 小结 393</p> <p>第19章 Storyboard故事板的使用 394</p> <p>19.1 Storyboard概述 395</p> <p>19.1.1 Storyboard的优缺点 395</p> <p>19.1.2 故事板的组织形式 396</p> <p>19.1.3 创建一个Storyboard 397</p> <p>19.1.4 更改故事板的初始视图</p> <p>控制器 398</p> <p>19.2 在Storyboard中使用标准控件 400</p> <p>19.2.1 添加三个控件 400</p> <p>19.2.2 对控件进行连接 402</p> <p>19.3 在Storyboard中使用表格控件 405</p> <p>19.3.1 在故事板中添加Table View 405</p> <p>19.3.2 添加Table View Cell 405</p> <p>19.3.3 设置Table View的数据源 407</p> <p>19.3.4 修改ViewController.swift</p> <p>文件 408</p> <p>19.4 在Storyboard中使用集合控件 409</p> <p>19.4.1 添加Collection View 409</p> <p>19.4.2 设置Collection View Cell 409</p> <p>19.4.3 设置Collection View的数据源</p> <p>和代理 411</p> <p>19.4.4 修改ViewController.swift</p> <p>文件 412</p> <p>19.5 Storyboard常见的层次结构 413</p> <p>19.6 Storyboard之间的页面跳转和参数</p> <p>传递 417</p> <p>19.6.1 单个Storyboard中页面间的</p> <p>参数传递 417</p> <p>19.6.2 多个Storyboard中的页面跳转</p> <p>及参数传递 420</p> <p>19.7 使用约束功能适配多分辨率 424</p> <p>19.7.1 打开并运行示例项目 424</p> <p>19.7.2 给父视图MainView添加</p> <p>约束 426</p> <p>19.7.3 给三个分隔线添加约束 428</p> <p>19.7.4 给两个小箭头添加约束 429</p> <p>19.7.5 给添加新会员按钮添加</p> <p>约束 431</p> <p>19.7.6 给无数据图标添加约束 432</p> <p>19.8 小结 433</p> <p>第20章 界面测试和自动化测试 434</p> <p>20.1 单元测试概述 435</p> <p>20.1.1 Xocde的XCTest框架 435</p> <p>20.1.2 对其他类的方法进行单元</p> <p>测试 438</p> <p>20.1.3 使用XCTest框架进行性能</p> <p>测试 441</p> <p>20.2 UI Testing界面测试 442</p> <p>20.2.1 往项目中插入UI Testing 443</p> <p>20.2.2 制作UI测试的程序 444</p> <p>20.2.3 录制UI Testing步骤 446</p> <p>20.2.4 播放UI Testing的录制</p> <p>步骤 446</p> <p>20.3 使用UIAutomation进行自动化</p> <p>测试 447</p> <p>20.3.1 使用UIAutomation录制</p> <p>自动化测试代码 447</p> <p>20.3.2 测试脚本的保存和加载 449</p> <p>20.4 小结 449</p> <p>第21章 iOS应用程序内存泄露的检测 451</p> <p>21.1 Allocations工具的使用 452</p> <p>21.2 Leaks工具的使用 458</p> <p>21.3 小结 461</p> <p>第22章 iOS应用程序的本地化 462</p> <p>22.1 应用程序的本地化 463</p> <p>22.1.1 应用程序名称的本地化 463</p> <p>22.1.2 应用程序文字内容的本</p> <p>地化 468</p> <p>22.1.3 Storyboard的本地化 471</p> <p>22.1.4 图片素材的本地化 474</p> <p>22.2 小结 477</p> <p>第23章 加密与** 478</p> <p>23.1 加密与** 479</p> <p>23.1.1 对称加密和非对称加密 479</p> <p>23.1.2 3DES加密 480</p> <p>23.1.3 SHA1加密 485</p> <p>23.1.4 MD5加密 487</p> <p>23.1.5 越狱情况的判断 490</p> <p>23.2 小结 492</p> <p>第24章 开源框架CocoaPods 493</p> <p>24.1 CocoaPods、SPM和Carthage简介 494</p> <p>24.1.1 为什么使用CocoaPods 494</p> <p>24.1.2 CocoaPods的安装及淘宝的</p> <p>镜像使用 495</p> <p>24.1.3 Podspec的镜像使用 496</p> <p>24.1.4 CocoaPods的实践 497</p> <p>24.1.5 pod install 和 pod update 的</p> <p>使用 497</p> <p>24.1.6 CocoaPods 的卸载 498</p> <p>24.2 CocoaPods-app的使用 498</p> <p>24.2.1 为新项目加入CocoaPods 499</p> <p>24.2.2 对Podfile的pod install和pod update 500</p> <p>24.2.3 删除工程中的CocoaPods 501</p> <p>24.2.4 安装命令行 502</p> <p>24.3 小结 502</p> <p>第25章 Git版本控制及GitHub社会化</p> <p>编程实践 503</p> <p>25.1 Git前奏曲 504</p> <p>25.1.1 什么是版本控制 504</p> <p>25.1.2 版本控制简史 504</p> <p>25.1.3 Git原理 506</p> <p>25.1.4 Git的安装、配置、别名和</p> <p>帮助 508</p> <p>25.2 Git基础曲 510</p> <p>25.2.1 创建本地仓库和关联远程</p> <p>仓库 510</p> <p>25.2.2 文件在工作区、暂存区和</p> <p>Git本地仓库中的操作 513</p> <p>25.2.3 查看提交历史 515</p> <p>25.2.4 撤销操作 515</p> <p>25.2.5 标签 516</p> <p>25.3 小结 519</p> <p>第26章 项目案例的架构搭建 520</p> <p>26.1 多人协作的工作流程 521</p> <p>26.2 技术选型 522</p> <p>26.3 MVC及工程结构 523</p> <p>26.4 UITabbarController、UINavigationController和Assets.xcassets的搭建 525</p> <p>26.4.1 UITabbarController和UINavigationController 525</p> <p>26.4.2 Assets.xcassets管理 527</p> <p>26.5 小结 529</p> <p>第27章 Model层相关框架 530</p> <p>27.1 XML、Plist、JSON数据格式 531</p> <p>27.2 开启ATS 532</p> <p>27.3 AlamofireObjectMapper 533</p> <p>27.3.1 AlamofireObjectMapper的</p> <p>安装 533</p> <p>27.3.2 AlamofireObjectMapper的</p> <p>使用 533</p> <p>27.4 ObjectMapper 535</p> <p>27.4.1 ObjectMapper的安装 535</p> <p>27.4.2 ObjectMapper中Model与</p> <p>JSON的转换 536</p> <p>27.5 Moya 536</p> <p>27.5.1 Moya的安装 537</p> <p>27.5.2 Moya的使用 537</p> <p>27.6 小结 540</p> <p>第28章 与众平台联姻 541</p> <p>28.1 ShareSDK 联合登录 542</p> <p>28.1.1 获取AppKey 542</p> <p>28.1.2 下载SDK 542</p> <p>28.1.3 快速集成 542</p> <p>28.1.4 新建Header File并建立</p> <p>桥接 543</p> <p>28.1.5 打开桥接文件(Bridging-Header.h) 544</p> <p>28.1.6 添加URL Types 546</p> <p>28.1.7 查看open.qq.com应用的</p> <p>审核进度 546</p> <p>28.2 ShareSDK分享 548</p> <p>28.2.1 增加QQ平台分享支持 548</p> <p>28.2.2 增加微信平台分享支持 548</p> <p>28.2.3 QQ和微信平台分享的代码</p> <p>实现 549</p> <p>28.3 聚合数据和LeanCloud 550</p> <p>28.3.1 聚合数据 550</p> <p>28.3.2 LeanCloud 551</p> <p>28.4 TalkingData统计 551</p> <p>28.5 小结 554</p> <p>第29章 开发SwiftNews新闻客户端</p> <p>App 555</p> <p>29.1 SwiftNews App概述 556</p> <p>29.1.1 修改App Name 556</p> <p>29.1.2 修改App ICON 557</p> <p>29.1.3 欢迎页面 558</p> <p>29.1.4 启动页面 559</p> <p>29.1.5 Debug模式下的print 561</p> <p>29.1.6 桥联SVProgressHUD 562</p> <p>29.1.7 自定义Cell 563</p> <p>29.1.8 国内和国际新闻模块 564</p> <p>29.1.9 图片加圆角和助手类 567</p> <p>29.2 小结 569</p> <p>第30章 应用程序的打包和发布 570</p> <p>30.1 iOS应用商店概述 571</p> <p>30.1.1 App Store的重大更新 571</p> <p>30.1.2 在iTunes Connect创建一个</p> <p>App 573</p> <p>30.1.3 打包App为IPA文件 576</p> <p>30.1.4 自动化打包App 577</p> <p>30.1.5 上传App至App Store 580</p> <p>30.1.6 配置构建版本并提交审核 580</p> <p>30.2 小结 582</p>显示全部信息前 言前 言编写本书的目的2011年9月,笔者**次接触了mac OS平台,并且学习了Xcode工具和Objective-C语言。当时市面上的学习资料也比较**,所以学习iOS开发即便是对于笔者这个曾经从事过三年PHP编程和四年J2EE开发的程序员来说,也是比较吃力的事情。而对于现在的读者来说,几乎有数十种iOS入门的教程可供选择。不过令人感到困惑的是,还没有一本书籍,能够作为初学者向更高阶内容前进的桥梁。本书针对没有任何苹果应用程序开发基础的***,从基本的iOS程序语言Swift 3.0开始,接着对苹果公司提供的开发API框架Cocoa touch的原理进行分类和详细讲解,进而对iOS的**技术进行梳理和讲解。*后结合实际案例,整合出一款符合MVC设计模式的商业App,让读者能够成为在iOS应用开发领域中驰骋的高手。iOS系统已陪伴我们走过了9个年头,iPhone、iPod touch、iPad这些搭载着iOS系统的设备,以其丰富的功能和出色的用户体验,改变了我们日常的生活、工作和娱乐方式。当全世界都在赞叹苹果的iOS时,iOS的就业大门也面向全世界打开了。随着移动互联网渐入佳境,越来越多的组织和个人开始进入移动互联网领域。在这个充满机会的移动互联时代,赶快加入iOS App的开发行列吧!本书主要内容本书内容全面,几乎涵盖了iOS 10应用开发所需要的主要内容,全书内容言简意赅,讲解方法通俗易懂,特别适合于初学者学习使用。本书共分三篇,**篇为基础篇,主要介绍了iOS开发基础知识,包括iOS系统的历史、Swift 3.0语言、UI界面构建技术、视图控制器、常用的控件、表和集合视图、视图和层、声音、视频、动画等。第二篇为进阶篇,主要介绍了Alamofire网络服务、数据的持久化、多线程、CoreText、CoreImage、Storyboard、自动化测试、性能分析、本地化、加密与**等实用技术。第三篇为实例篇,通过对实体层、表现层和逻辑层三层相关技术的讲解,向读者详细展示了MVC设计模式在项目开发中的应用方式,并*终创建一个成熟的商业项目。本书采用丰富的实例,直观的代码展示,向读者形象地讲解了在创建一款**的iOS应用程序时,所需要的大部分技巧,帮助读者轻松掌握并**开发iOS程序。本书特点内容全面:包含Swift 3.0语言、Cocoa Touch、视图控制器、控件、表格、网络、地图、音频、视频、动画、触摸、手势、故事板、CoreData、性能测试、加密解密等众多功能模块。这些内容是iOS开发必知必会的内容,需要读者**掌握。由浅入深:内容按照原理讲解、实现过程、代码解析的编排顺序讲解,使读者朋友更容易掌握知识点。同时对**代码做了大量注释和讲解,以便于读者更加轻松地学习。代码精简:为了在有限的篇幅内讲解更多的实用功能,在本书中只给出了每个实例的核心代码及分析结构性代码,保留关键代码和核心代码,以节省篇幅,让本书更超值。原理图解:为复杂的原理讲解配有生动、详细的图例,以帮助读者轻松理解相关概念。**讲解:对每个实例的核心功能都给予了专门讲解,以便于读者更好地掌握。书中的实例完全适用于全新的iOS 10开发平台,同时也兼容iOS 9开发平台。读者对象通过对本书的学习,读者可以基本建立起iOS 10技术的思想框架,并且对iOS 10开发的过程有一个全面的了解。因此本书适合iOS开发初学者、iOS程序员、iPhone开发人员、iPad开发人员学习,同时也可以作为相关培训机构和大专院校相关专业的教学用书。配套光盘本书配套光盘提供了作者特别录制的有关iOS开发的相关视频课程和全书示例源代码,以方便读者掌握本书内容。源代码中的文件夹名称,如17.1.3 CoreTextProject_RichText,名称的前三个数字依次表示第17章的第1节的第3个示例项目的源代码。CoreTextProject表示当前为CoreText相关的示例项目,而RichText为示例项目的名称。本书中大部分示例可以在Xcode 8的iOS模拟器中运行。部分示例如相机、定位设备的使用,需要连接真机进行测试。此时你需要一个苹果***账户,来访问大部分工具和文档,并且需要一个开发人员许可证来在真机上运行应用程序,对此请参考第1章的内容进行账号的注册和设置。勘误和支持书中所有章节的内容和源码,都根据Swift 3.0和iOS 10.0版本进行了更新。如果你遇到有关兼容性的问题请联系我们,我们会发布更新并进行修改。如果你对本书的内容有任何建议,或者发现了本书的一些错误,希望尽快联系我们,这将对本书的后续版本有很大的帮助。我们非常愿意听取任何能使本书变得更加完善的建议,并会不断致力于让本书更加**。如果你有关于本书的任何评论或者疑问,请访问微信公众号coolketang联系我们。致谢对于本书的完成,要特别感谢王金柱编辑给予的帮助和指导。诸位编辑在检查书稿时认真细致的态度,也令人称赞,整个沟通过程非常愉快。感谢笔者的爱人在孕期依然帮助笔者校对书稿,感谢家里的老大和刚刚出生的小女儿给笔者莫大的精神支持。*后还要感谢冉玉玲、李爱民、谢美仙、李晓飞、朱娟、李红梅、金善众、蔡银珠、金依灵、郑大翰、戴永威等人在写作的过程中给予的支持和鼓励!前 言 <div>编写本书的目的2011年9月,笔者**次接触了mac OS平台,并且学习了Xcode工具和Objective-C语言。当时市面上的学习资料也比较**,所以学习iOS开发即便是对于笔者这个曾经从事过三年PHP编程和四年J2EE开发的程序员来说,也是比较吃力的事情。而对于现在的读者来说,几乎有数十种iOS入门的教程可供选择。不过令人感到困惑的是,还没有一本书籍,能够作为初学者向更高阶内容前进的桥梁。本书针对没有任何苹果应用程序开发基础的***,从基本的iOS程序语言Swift 3.0开始,接着对苹果公司提供的开发API框架Cocoa touch的原理进行分类和详细讲解,进而对iOS的**技术进行梳理和讲解。*后结合实际案例,整合出一款符合MVC设计模式的商业App,让读者能够成为在iOS应用开发领域中驰骋的高手。iOS系统已陪伴我们走过了9个年头,iPhone、iPod touch、iPad这些搭载着iOS系统的设备,以其丰富的功能和出色的用户体验,改变了我们日常的生活、工作和娱乐方式。当全世界都在赞叹苹果的iOS时,iOS的就业大门也面向全世界打开了。随着移动互联网渐入佳境,越来越多的组织和个人开始进入移动互联网领域。在这个充满机会的移动互联时代,赶快加入iOS App的开发行列吧!本书主要内容本书内容全面,几乎涵盖了iOS 10应用开发所需要的主要内容,全书内容言简意赅,讲解方法通俗易懂,特别适合于初学者学习使用。本书共分三篇,**篇为基础篇,主要介绍了iOS开发基础知识,包括iOS系统的历史、Swift 3.0语言、UI界面构建技术、视图控制器、常用的控件、表和集合视图、视图和层、声音、视频、动画等。第二篇为进阶篇,主要介绍了Alamofire网络服务、数据的持久化、多线程、CoreText、CoreImage、Storyboard、自动化测试、性能分析、本地化、加密与**等实用技术。第三篇为实例篇,通过对实体层、表现层和逻辑层三层相关技术的讲解,向读者详细展示了MVC设计模式在项目开发中的应用方式,并*终创建一个成熟的商业项目。本书采用丰富的实例,直观的代码展示,向读者形象地讲解了在创建一款**的iOS应用程序时,所需要的大部分技巧,帮助读者轻松掌握并**开发iOS程序。本书特点内容全面:包含Swift 3.0语言、Cocoa Touch、视图控制器、控件、表格、网络、地图、音频、视频、动画、触摸、手势、故事板、CoreData、性能测试、加密解密等众多功能模块。这些内容是iOS开发必知必会的内容,需要读者**掌握。由浅入深:内容按照原理讲解、实现过程、代码解析的编排顺序讲解,使读者朋友更容易掌握知识点。同时对**代码做了大量注释和讲解,以便于读者更加轻松地学习。代码精简:为了在有限的篇幅内讲解更多的实用功能,在本书中只给出了每个实例的核心代码及分析结构性代码,保留关键代码和核心代码,以节省篇幅,让本书更超值。原理图解:为复杂的原理讲解配有生动、详细的图例,以帮助读者轻松理解相关概念。**讲解:对每个实例的核心功能都给予了专门讲解,以便于读者更好地掌握。书中的实例完全适用于全新的iOS 10开发平台,同时也兼容iOS 9开发平台。读者对象通过对本书的学习,读者可以基本建立起iOS 10技术的思想框架,并且对iOS 10开发的过程有一个全面的了解。因此本书适合iOS开发初学者、iOS程序员、iPhone开发人员、iPad开发人员学习,同时也可以作为相关培训机构和大专院校相关专业的教学用书。配套光盘本书配套光盘提供了作者特别录制的有关iOS开发的相关视频课程和全书示例源代码,以方便读者掌握本书内容。源代码中的文件夹名称,如17.1.3 CoreTextProject_RichText,名称的前三个数字依次表示第17章的第1节的第3个示例项目的源代码。CoreTextProject表示当前为CoreText相关的示例项目,而RichText为示例项目的名称。本书中大部分示例可以在Xcode 8的iOS模拟器中运行。部分示例如相机、定位设备的使用,需要连接真机进行测试。此时你需要一个苹果***账户,来访问大部分工具和文档,并且需要一个开发人员许可证来在真机上运行应用程序,对此请参考第1章的内容进行账号的注册和设置。勘误和支持书中所有章节的内容和源码,都根据Swift 3.0和iOS 10.0版本进行了更新。如果你遇到有关兼容性的问题请联系我们,我们会发布更新并进行修改。如果你对本书的内容有任何建议,或者发现了本书的一些错误,希望尽快联系我们,这将对本书的后续版本有很大的帮助。我们非常愿意听取任何能使本书变得更加完善的建议,并会不断致力于让本书更加**。如果你有关于本书的任何评论或者疑问,请访问微信公众号coolketang联系我们。致谢对于本书的完成,要特别感谢王金柱编辑给予的帮助和指导。诸位编辑在检查书稿时认真细致的态度,也令人称赞,整个沟通过程非常愉快。感谢笔者的爱人在孕期依然帮助笔者校对书稿,感谢家里的老大和刚刚出生的小女儿给笔者莫大的精神支持。*后还要感谢冉玉玲、李爱民、谢美仙、李晓飞、朱娟、李红梅、金善众、蔡银珠、金依灵、郑大翰、戴永威等人在写作的过程中给予的支持和鼓励!<br /><br /><br /><br /><br />编 者 2016年12月12日</div>显示全部信息媒体评论评论免费在线读视图UIView和层CALayer
    窗口和UIView视图是为iOS应用程序构造用户界面的可视化组件。窗口为内容显示提供背景平台,而UIView视图负责绝大部分的内容��画,并负责响应用户的交互。UIView之所以能够显示,完全是因为其内部的CALayer层对象。UIView真正的绘图部分,就由一个CALayer类来管理,其本身更像是一个CALayer的管理器,访问它跟绘图和坐标有关的属性,例如frame、bounds等,实际上内部都是在访问它所包含的CALayer的相关属性。通过操作这个CALayer对象,可以很方便地调整UIView的一些界面属性,比如阴影、圆角大小、边框宽度和颜色等。 本章将逐步讲解UIView视图及其内部的CALayer层的原理和具体的使用方法。
    目录
    目 录

    第1章 开发准备 1
    1.1 iOS移动开发现状 2
    1.1.1 iOS的历史 2
    1.1.2 iOS 10的十大变化 4
    1.1.3 iOS应用开发的八个特点 5
    1.2 iOS 10的新功能 5
    1.2.1 SiriKit 6
    1.2.2 Proactive Suggestions
    (预建议) 6
    1.2.3 Integrating with the Messages
    App 7
    1.2.4 User Notifications 7
    编辑推荐语
    本书采用丰富的实例,直观的代码展示,向读者形象地展现了在创建一款**的iOS应用程序时,所需要的大部分知识和技巧。通过对本书的学习,读者可以建立起iOS 10技术的思想框架,并且对iOS 10开发的过程有一个全面的了解,**地开发出自己的iOS应用程序。 

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外