全国咨询热线:400-618-4000

黑马程序员:赶紧下载iOS10开发教程第二弹

更新时间:2019年03月21日18时02分 来源:传智播客


  虽然6月13日WWDC2016的发布会结束了,但是本届大会的开发者session环节还在持续进行着。黑马程序员本着对技术的狂热,对学生负责的态度,仍然坚持每天对课程进行深入的研发。本文主要是黑马程序员对iOS 10 中SDK所更新的主要内容进行总结。根据黑马程序员惯例,在文章的最后,有相关相关教学视频及Demo会有分享链接,供各位下载!



  1. Grand Center Dispatch


  GCD 在本次一更新主要有以下内容:


  • 创建私有队列


  • 安排异步执行的工作项目(items)


  • GCD能自动将工作项目使用自动释放池给包裹起来



  2. Foundation


  Swift的改进,表现在去掉前缀,API方法改变


  单位和测量 (Units and measurements),新增以下两个相关的类:


  NSISO8601DateFormatter:有关ISO8601时间戳与Date之间转换。


  NSDateInterval:用来表示一个封闭的日期间隔。


  3. UIPasteboard


  UIPasteboard是一个通用的剪贴板(Universal Clipboard),可以在不同的苹果设备之间进行数据的复制粘贴。


  UIPasteboard类,可以实现在多设备之间进行剪切复制:



  UIPasteboardOption(结构体),可以控制粘贴的选项:



  4. Wide Color



  在 iOS 10 中苹果公司提供更加宽广的颜色,将iOS 9.3的 sRGB 提升到现在的sRGB Extention,从而使颜色的精度更高,优化界面样式。


  UIColor 类的支持:


  a) 新增构造方法




  b) 图像渲染(Image Renderer)


  在这之前使用UIGraphicsBeginImageContext和UIGraphicsEndImageContextde时,其问题在于只支持32位颜色和sRGB,并且开发过程中容易出错,扩展性不强。



  而现在苹果提供一个新的类:UIGraphicsRenderer, 其特点如下:


  • 完全的色彩管理


  • 基于block


  • 拥有 image 与 PDF 的子类


  • 管理上下文的生命周期



  5. 语音识别 (Speech Recognition)


  在 iOS 10 中增加语音识别的API——Speech ,其特点如下:


  • 可以实现连续的语音识别


  • 可以对语 音文件或者语音流进行识别


  • 最佳化自由格式的听写(可理解为多语言支持)和搜索式的字符串



  6. 动态类型(Dynamic Type)


  主要表现为文本内容的尺寸类型特征。例如,在用户调整系统字体大小时,应用内的字体也可以随之变化。其特点如下:

  • 可以不用监听任何通知即可实现功能。


  • 支持 Extensions


  • 自动支持 UITextView 、UILabel及UIControl


  代码实现:



  7. 提高可定制程度 (Improved Customization)


  可以对 TabBarItem 里面的内容进行定制,比如:


  • 自定义 badge 的颜色和文字的属性


  • 自定义未选中的Tint Color



  8. Peek & Pop 手势


  添加对 WKWebView 的支持,体现在以下几点:


  • 更好的控制 Peek&Pop 的行为


  • 自定义 viewController


  • 动作预览


  • 弹出你的app



  9. 刷新控件(Refresh Control)


  系统自带的刷新控件支持所有的 UIScrollView 以及其子类,比如说 UICollectionView。



  10. CollectionView


  优化快速滚动:


  • Cell的预先加载


  • 数据源的预先加载


  • 同样在 UITableView 中可用



  11. UIViewPropertyAnimator


  UIViewPropertyAnimator 是 iOS 10 中新增的一个执行 View 动画的类,具有以下特点:


  • 可中断性


  • 可擦除


  • 可反转性


  • 丰富的动画时间控制功能



  12. UIApplication


  新增了 openURL:options:completionHandler: 函数以替代原有的 openURL: 函数,特点如下:


  • 可以在异步线程中得到执行完成的回调


  • 会检查是否有应用支持此链接,并将结果通过回调中的参数返回



  13. Core Data


  在本次更新中, Core Data 最有用的更新就是提升了并发访问的性能。



  14. CloudKit


  本次更新CloudKit具有以下特点:


  • 公有的数据库


  • 私人的数据库


  • 数据记录的分享,新增UICloudSharingController



  15. 应用内搜索(App Search)


  在 iOS 10 中,可以搜索App里面的内容,那么如何让自己的App里面的内容让 Spotlight 搜索到呢,需要做以下几件事情:


  • 添加 CoreSpotlightContinuation 这个key到项目的 info.plist 文件中


  • 实现 UIApplicationDelegate 中的一个新方法:




  苹果还提供 CoreSpotlight 搜索的 API 进行搜索:




  16. 苹果支付(Apple Pay)


  • 可用于 SFSafariViewController


  • 可用于没有UI的extensions中


  • 在 iMessage 应用中也支持 ApplePay


  17. 桌面组件(Widgets)

  在 iOS 10中,应用的组件也得到了更新,拥有 display model 的概念,其表现于:


  • 优化了用户的交互性


  • 添加紧凑型与展开型的模式


  另外,也可以让widget出现在