Swift 一周简讯 #4

作者:Jesse Squires,原文链接,原文日期:2016.1.7
译者:pmst;校对:numbbbbb;定稿:numbbbbb

假期一晃而过,Swift.org 又重新开始更新东西啦。倘若你也是 Apple GitHub 开源项目的跟随者之一,你可能已经注意到了。早前不知为何我错过了一些重要的东西,直到本周我才发现 SwiftExperimental.swift 这货。目前,它为 Set 集合自定义了大量 unicode 操作(译者注:有 ∈ 、∉、⊂、⊄、⊆ 等等!)。这真是棒极了!我迫不及待想要在标准库中看到更多诸如此类的 API 接口。不管怎样,先来看看本周有哪些好玩的东西吧。

Commits 和 Pull requests

  • Austin Zheng 提交了一个 pull request 用于移除旧的 mirror API。
  • Andrew Naylor 合并了一些改动用于加速 corelibs-foundation 框架中的 JSON 解析。我们知道 Swift 社区里的家伙都热衷于 JSON 解析。
  • Keith Smiley 提交了一个 pull request,添加对 Swift 包管理器中的 corelibs-xctest 的支持。
  • Chris Lattner 重新设计了参数的 AST 表示方式。

Proposals

Matthew Johns 给出了一个提议旨在改进成员构造器(Memberwise Initializers ,这样翻译会不会有打我的冲动~),目前正在审核中中。正如 Lattner 所说,Swift 当前的 Memberwise Initializers 行为尚存在大量不足之处。所以我感觉这个提议很有可能被接受。

有关于“必须使用 self 来存取实例变量”的提议不出意外被咔嚓,拒绝掉了。拒绝的主要原因有以下三点:

  1. 表达有点啰嗦,意图不够清晰
  2. 减少 self. 的使用能够预防可能的循环引用(retain-cycle)
  3. 以及开发团队希望采用这种用法可以简单地通过链接器(linter)来执行它。

Doug Gregor 提交了一个函数命名的建议(译者:很奇怪,页面 404)。原文如下:“Swift 支持一等函数,因此任何函数(或者方法)都可以存储为函数类型的值。然而,Swift 程序中并不是所有函数都能命名 —— 你不能在命名同时提供参数列表。” 缺失这个特性绝对是 Swift 中的一个痛点,尤其是在使用 Cocoa 和 Objective-C selectors 时。以上就是提议的概述。

Mailing lists

Doug Gregor 注意到扩展 @objc 协议时发生了一些令人惊讶的行为 —— extension 中的成员在 Objective-C runtime 时居然无法对外使用。幸运地是,我在运行时并没有遇到这种情况。

最后要说的是,?.运算符在 Swift 中是 “call-me-maybe” 运算符?以上是本周开源周报内容

本文由 SwiftGG 翻译组翻译,已经获得作者翻译授权,最新文章请访问 http://swift.gg。

你可能感兴趣的:(Swift 一周简讯 #4)