當前位置:
首頁 > 最新 > Swift 4.0 正式發布,更快更兼容更好用

Swift 4.0 正式發布,更快更兼容更好用

轉自:開源中國

Swift 4 現已正式發布!Swift 4 在 Swift 3 的基礎上,提供了更強大的穩健性和穩定性,為 Swift 3 提供源碼兼容性,對標準庫進行改進,並添加了歸檔和序列化等功能。

你可以通過觀看WWDC 2017: What』s New in Swift或完整發行說明快速了解 Swift 4 功能概述。

一、語言更新

String

Swift 4 包含一個更快、更易使用的 String 實現,保留了 Unicode 的正確性,並新增了對創建、使用和管理子字元串的支持。

詳情:

SE-0163 String Revision: Collection Conformance, C Interop, Transcoding

SE-0168 Multi-Line String Literals

SE-0178 Add unicodeScalars property to Character

SE-0180 String Index Overhaul

SE-0182 String Newline Escaping

SE-0183 Substring performance affordances

集合

Swift 4 改進了創建、使用和管理集合類型。

詳情:

SE-0148 Generic Subscripts

SE-0154 Provide Custom Collections for Dictionary Keys and Values

SE-0165 Dictionary & Set Enhancements

SE-0172 One-sided Ranges

SE-0173 Add MutableCollection.swapAt(_:_:)

歸檔和序列化

Swift 4 支持結構化和枚舉類型的歸檔,並可以對外部格式(如 JSON 和 plist )進行類型安全的序列化。

詳情:

SE-0166 Swift Archival & Serialization

其他

SE-0104 Protocol-oriented integers

SE-0142 Permit where clauses to constrain associated types

SE-0156 Class and Subtype existentials

SE-0160 Limiting@objcinference

SE-0164 Remove final support in protocol extensions

SE-0169 Improve Interaction Between private Declarations and Extensions

SE-0170 NSNumber bridging and Numeric types

SE-0171 Reduce with inout

SE-0176 Enforce Exclusive Access to Memory

SE-0179 Swift run Command

二、新兼容模式

Swift 4 發布後,你可能不需要修改代碼就可以使用新版本的編譯器。編譯器支持兩種語言模式:

Swift 3.2:這種模式下,編譯器將接受使用 Swift 3.x 編譯器構建的大多數源代碼。為了提供這種級別的源兼容性,先前存在的 API(作為 Apple 提供的標準庫或 API 的一部分)的更新將不會出現在此模式中。 Swift 4 中的大部分新語言特性都以這種語言模式提供。

Swift 4.0:此模式包含所有 Swift 4.0語言和 API 更改,部分項目可能需要進行源遷移。

語言模式由 -swift-version 指定給編譯器,由 Swift 包管理器和 Xcode 自動處理。

詳情:

Migrating to Swift 4

三、包管理器升級

Swift 4 為 Swift Package Manager 引入了新的工作流功能和更完整的 API :

在 Tag 你的第一個正式版本之前,可以輕鬆多包開發,或者在多個軟體包的分支上一起工作。

可選擇控制發布給用戶的包。

新的 Package API 允許軟體包指定一些新的設置,使作者能夠更好地控制軟體包的構建方式,以及如何在磁碟上組織源碼。總的來說,用於創建包的 API 現在更為清晰,同時保留了與舊包的源兼容性。

在 macOS 上,Swift 軟體包的構建現在會在一個防止網路訪問和文件系統修改的沙箱中進行,有助於減輕惡意程序的影響。

詳情:

SE-0146 Package Manager Product Definitions

SE-0149 Package Manager Support for Top of Tree development

SE-0150 Package Manager Support for branches

SE-0158 Package Manager Manifest API Redesign

SE-0162 Package Manager Custom Target Layouts

SE-0175 Package Manager Revised Dependency Resolution

SE-0179 Swift run Command

SE-0181 Package Manager C/C++ Language Standard Support

四、相關地址

文檔

Swift 4.0 相關文檔已在官網更新,在蘋果的 iBooks 商店也可免費下載。

下載

https://swift.org/download/

覺得這條資訊有幫助?請轉發給更多人

關注技術最前線看 IT 要聞

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 技術最前線 的精彩文章:

1.43 億人信息被盜,整個美國都慌了;Linux 發行版 SUSE 誕生 25 周年

TAG:技術最前線 |