Swift 周報 #76

作者:Jesse Squires,原文鏈接耍攘,原文日期:2017-06-29
譯者:四娘奉呛;校對:Cwift;定稿:shanks

本期作者:Garric Nahapetian

Swift 的 git 倉庫這周特別忙珊搀,這里有一些 GitHub 的數(shù)據(jù):

除了 Merge 之外冶忱,總共有 39 個作者 push 了 156 個 commit 到主分支,所有分支算起來有 284 個 commit境析。在主分支囚枪,401 個文件被修改,增 12589 刪 9215 …

在 WWDC 結(jié)束不久就完成了這么多的事情實屬不易劳淆,在 Swift 4 立項之后核心團隊和別的貢獻者完成了驚人的進展链沼。

iOS 11 beat 2,tvOS 11 beta 2 和 Swift Playgrounds 2 beta 2 都開放下載了沛鸵,點擊此處下載括勺,遇到 bug 記得要反饋哦!

贊助鏈接

提升你的技能 — 成就你的職業(yè)生涯

專家?guī)闳腴T到精通只需一周時間曲掰。

bignerdranch.com

Swift Unwrapped

第 17 集:Swift 里的測試疾捍,Jesse 和 JP 討論了如何使用 Swift 和相應(yīng)的工具進行測試,保證每一個上線版本都井然有序栏妖。

資訊及社區(qū)

Greg Heo 寫了一篇文章講述 Swift 里 EncoderEncodable 的原理乱豆,這個新功能會影響到很多開源的軟件,了解它的原理更有助于你理解它們相關(guān)的 PR吊趾。

Matt Godbolt 的探索編譯器現(xiàn)已支持 Swift咙鞍。(譯者注:這是一個學(xué)習(xí)編譯原理的網(wǎng)站房官,輸入代碼趾徽,就可以看到編譯后在對應(yīng)平臺上的匯編碼)

David Owens 放出了一個 VSCode 的插件续滋,讓 VSCode 也能支持 Swift。

Swift 支援團隊開源了 Swift-Evolution 的 App — Evo孵奶。

Steven Hepting 講述了 Swift 的 sort() 方法是怎么優(yōu)化的疲酌,這里可以找到相應(yīng)的源碼

Learn Swift 皇后區(qū) & Learn Swift 波蘭, 都落下了帷幕了袁。 這是11期 Learn Swift {城市} 系列的合集朗恳!下次會是在哪座城市呢?

Brisk载绿,一個反饋 bug 的 macOS app 上線了 1.0 版本 粥诫,并且快速迭代發(fā)布了 1.0.1 版本,記得要幫忙反饋 bug 哦崭庸!

元組門又有了更多的進展怀浆,這對我來說很有趣,因為我個人也使用過類似的方式怕享。就像 Slava 指出的那樣执赡,這件事情始終還有優(yōu)化的空間。(譯者注:元組門就是閉包里的元組不再自動展開的事情函筋,前兩周周報都有提到沙合,詳情請看 SE-0029SE-0066SE-0110)跌帐。

提交和合并的請求

Ben Cohen 發(fā)起一個新的合并請求首懈,讓 Substring 可以添加到 Hashable 容器里(詳情請看下面的郵件列表討論)。

Itai Ferber 通過了一個合并請求谨敛,修復(fù)了 SR-5277究履,讓 class 可以與父類共用一個 Encoder/Decoder。更多詳情請看這里的討論進程佣盒。

Philippe Hausler 通過了一個合并請求挎袜,修復(fù)了 SR-5292。修復(fù)了 Foundation 里使用 slice 嵌套 slice 時產(chǎn)生的 bug肥惭。

Joe Groff 通過了一個合并請求盯仪,讓 KeyPath 支持可選鏈(Optional Chainning)和強制解包(Force Unwrapping)。

Doug Gregor 通過了一個合并請求 蜜葱,優(yōu)化了基本類型全景,類型別名和遞歸的處理邏輯,并且修復(fù)了 SR-4295牵囤,SR-4757爸黄,SR-4786滞伟,SR-5014SR-4737

Dave Abrahams 發(fā)起一個合并請求炕贵,實現(xiàn)了 SE-0180 字符串索引越界(后面有詳細介紹)梆奈。

在命令行里運行 man swift 時展示的手冊已獲得更新

Maxim Moiseev 通過了一個合并請求称开,修復(fù)了 [String] 使用 flatMap 時的向后兼容性亩钟,有興趣了解的話可以查看這里的 Swift 迷思- by Robert Widmann

David Farler 通過了一個合并請求鳖轰,內(nèi)容主要是 Xcode 9 里編譯時索引功能(index-while-building)在這段時間里的改進清酥。

如果你想知道某個修復(fù)了 rdar:// 的 PR 的細節(jié),放心大膽地問就可以了蕴侣。

審核中的提案

SE-0180: String Index Overhaul 在一些討論之后重新退回審核階段焰轻。

郵件列表

Erica Sadun 寫了一篇文章關(guān)于 !! 這個她稱為“解包或崩潰”的操作符。你可以在這個 Gist 里找到相應(yīng)的草稿昆雀。

使用一個操作符辱志,在解包失敗時提供反饋信息,已經(jīng)成為 Swift 開發(fā)者社區(qū)里普遍會實現(xiàn)的一個東西了忆肾,你對于把這個廣泛使用的操作符加入到標(biāo)準(zhǔn)庫有什么想法荸频?

譯者注:使用了 !! 的代碼會類似于這樣 let _ = optionalObject !! "空的對象",能夠在強制解包失敗的時候提供 debug 信息客冈,思路很棒旭从,建議大家看一下。

Ben Cohen 發(fā)了一篇文章场仲,內(nèi)容主要是關(guān)于 Substring 性能的討論和悦。

作為 SE-0163 的要點之一,Substring 顯式轉(zhuǎn)換到 String 的問題都推遲到第一版實現(xiàn)之后討論渠缕。直到現(xiàn)在鸽素,收到的反饋也都沒有讓我們覺得這樣的顯式轉(zhuǎn)換很有必要 — 從 3.2 遷移到 4.0 的時候也不怎么需要用到 SubstringString的轉(zhuǎn)換。即便不在開發(fā)目標(biāo)里亦鳞,只要是這方面的版本遷移問題馍忽,收到您的反饋我們都會很感謝。

[…]

Itai Ferber 在 Swift-Evolution 發(fā)了一條信息 燕差,征求 SE-0166SE-0167 的反饋遭笋,希望社區(qū)了解到之前的很多建議已經(jīng)被采納并實現(xiàn),繼續(xù)提供建議和意見徒探。

Robert Bennett 提了一個有趣的建議瓦呼,希望 protocol 里可以聲明 let。但我并不認為他提的算是一個問題测暗。

我在處理協(xié)議的時候遇上了一個惱人的問題央串。在一個 class 或者 struct 里使用 let 去修飾一個屬性并且在 init 方法里初始化是很常見的情況磨澡,但卻沒辦法在一個 protocol extension 里實現(xiàn)一個這樣的 init 方法。

[…]

最后

“索取”有時候比“給予”感覺更好

本文由 SwiftGG 翻譯組翻譯质和,已經(jīng)獲得作者翻譯授權(quán)稳摄,最新文章請訪問 http://swift.gg

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末侦另,一起剝皮案震驚了整個濱河市秩命,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌褒傅,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件袄友,死亡現(xiàn)場離奇詭異殿托,居然都是意外死亡,警方通過查閱死者的電腦和手機剧蚣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門支竹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鸠按,你說我怎么就攤上這事礼搁。” “怎么了目尖?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵馒吴,是天一觀的道長。 經(jīng)常有香客問我瑟曲,道長饮戳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任洞拨,我火速辦了婚禮扯罐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘烦衣。我一直安慰自己歹河,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布花吟。 她就那樣靜靜地躺著秸歧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪示辈。 梳的紋絲不亂的頭發(fā)上寥茫,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天,我揣著相機與錄音矾麻,去河邊找鬼纱耻。 笑死芭梯,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的弄喘。 我是一名探鬼主播玖喘,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蘑志!你這毒婦竟也來了累奈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤急但,失蹤者是張志新(化名)和其女友劉穎澎媒,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體波桩,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡戒努,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了镐躲。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片储玫。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖萤皂,靈堂內(nèi)的尸體忽然破棺而出撒穷,到底是詐尸還是另有隱情,我是刑警寧澤裆熙,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布端礼,位于F島的核電站,受9級特大地震影響弛车,放射性物質(zhì)發(fā)生泄漏齐媒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一纷跛、第九天 我趴在偏房一處隱蔽的房頂上張望喻括。 院中可真熱鬧,春花似錦贫奠、人聲如沸唬血。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拷恨。三九已至,卻和暖如春谢肾,著一層夾襖步出監(jiān)牢的瞬間腕侄,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留冕杠,地道東北人微姊。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像分预,于是被迫代替她去往敵國和親兢交。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容