iOS 开发周报:Apple 发布 iOS 10.3 、KVO 的优雅使用方案

  • 靛青K

2017 年 3 月 29 日

话题:iOS语言 & 开发架构

新闻

  1. Apple 发布 iOS 10.3:Apple 发布了 iOS 10.3 ,带来了新的 Apple ID 页面,增加了允许 App 内评分及留言、APFS、Find My AirPods 等功能。(当然也发布了 Xcode 8.3)。
  2. WWDC 2017 报名开始:WWDC 2017 可能会带来 iOS 11、使用 APFS 的 macOS 10.13 以及新版的 watchOS 、 tvOS 。仍然是抽签确定参加人员。

教程

  1. Profiling your Swift compilation times:Swift 的编译速度非常慢(Swift 3.1 略有改进),本文介绍了如何在项目中检查每个方法的编译时间,以及如何使用 xcodebuild 更好地筛选出编译时间较长的方法。
  2. RxSwift 处理错误例子 - 上传图片:上传图片通常我们会选择一些对象存储服务减少对服务器的压力,为此我们就需要先上传图片到对象存储服务器中,再将上传完成的图片链接配合其他参数返回给我们的服务器,本文介绍了一种如何处理上述相对复杂逻辑的方案。
  3. iOS 自动构建命令——xcodebuild:通常我们使用 Xcode 提供的 GUI 方式编译项目,xcodebuild 是一个命令行工具,你可以用它来完成一些自动化的操作,本文介绍了 xcodebuild 的基本使用。
  4. Variable Height Table View Header:为了适配不同屏幕的大小,我们可能需要动态修改 TableView 的 HeaderView 的高度,本文介绍了一种比较好的动态修改高度方案。
  5. 如何优雅地使用 KVO:KVO 作为 iOS 中一种强大并且有效的机制,为 iOS 开发者们提供了很多的便利;我们可以使用 KVO 来检测对象属性的变化、快速做出响应,这能够为我们在开发强交互、响应式应用以及实现视图和模型的双向绑定时提供大量的帮助。但是在大多数情况下,除非遇到不用 KVO 无法解决的问题,笔者都会尽量避免它的使用,这并不是因为 KVO 有性能问题或者使用场景不多,总重要的原因是 KVO 的使用是在是太麻烦了。本文介绍了优雅的解决方案 KVOController

开源项目

  1. BuildTimeAnalyzer-for-Xcode:Swift 编译时间分析的工具。
  2. Few.swift:类似于 React 写法的组件库。
  3. FengNiao:检查项目中无用资源的工具。
  4. CFAlertViewController:漂亮的弹窗 UI 组件。
  5. AutoToggleHeaderFooterView:为你的滚动视图添加随手势变化的动态 Header Footer UI 组件。

感谢徐川对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

iOS语言 & 开发架构