Swift 一週簡訊 #4

做者:Jesse Squires,原文連接,原文日期:2016.1.7
譯者:pmst;校對:numbbbbb;定稿:numbbbbbhtml

假期一晃而過,Swift.org 又從新開始更新東西啦。假若你也是 Apple GitHub 開源項目的跟隨者之一,你可能已經注意到了。早前不知爲什麼我錯過了一些重要的東西,直到本週我才發現 SwiftExperimental.swift 這貨。目前,它爲 Set 集合自定義了大量 unicode 操做(譯者注:有 ∈ 、∉、⊂、⊄、⊆ 等等!)。這真是棒極了!我火燒眉毛想要在標準庫中看到更多諸如此類的 API 接口。無論怎樣,先來看看本週有哪些好玩的東西吧。git

Commits 和 Pull requests

Proposals

Matthew Johns 給出了一個提議旨在改進成員構造器(Memberwise Initializers ,這樣翻譯會不會有打個人衝動~),目前正在審覈中中。正如 Lattner 所說,Swift 當前的 Memberwise Initializers 行爲尚存在大量不足之處。因此我感受這個提議頗有可能被接受。函數

有關於「必須使用 self 來存取實例變量」的提議不出意外被咔嚓,拒絕掉了。拒絕的主要緣由有如下三點:flex

  1. 表達有點囉嗦,意圖不夠清晰ui

  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

相關文章
相關標籤/搜索