新聞中心
近日,編程語言Swift4.0正是發(fā)布,其易學(xué)易用的特性深受開發(fā)者的喜愛。Swift的設(shè)計以安全為出發(fā)點,以避免各種常見的編程錯誤類別。Swift4基于Swift3 ,提供了更強大的穩(wěn)健性和穩(wěn)定性,為 Swift 3 提供源碼兼容性,對標準庫進行改進,并添加了歸檔和序列化等功能。

創(chuàng)新互聯(lián)科技有限公司專業(yè)互聯(lián)網(wǎng)基礎(chǔ)服務(wù)商,為您提供綿陽主機托管,高防主機,成都IDC機房托管,成都主機托管等互聯(lián)網(wǎng)服務(wù)。
欲了解更加詳盡的功能概述,請觀看 WWDC 2017: What’s New in Swift 或完整發(fā)行說明
一、語言更新
String
Swift 4 包含一個更快、更易使用的 String 實現(xiàn),保留了 Unicode 的正確性,并新增了對創(chuàng)建、使用和管理子字符串的支持。
詳情:
-
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 改進了創(chuàng)建、使用和管理集合類型。
詳情:
-
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 支持結(jié)構(gòu)化和枚舉類型的歸檔,并可以對外部格式(如 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 @objc inference
-
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 發(fā)布后,你可能不需要修改代碼就可以使用新版本的編譯器。編譯器支持兩種語言模式:
-
Swift 3.2:這種模式下,編譯器將接受使用 Swift 3.x 編譯器構(gòu)建的大多數(shù)源代碼。為了提供這種級別的源兼容性,先前存在的 API(作為 Apple 提供的標準庫或 API 的一部分)的更新將不會出現(xiàn)在此模式中。 Swift 4 中的大部分新語言特性都以這種語言模式提供。
-
Swift 4.0:此模式包含所有 Swift 4.0語言和 API 更改,部分項目可能需要進行源遷移。
語言模式由 -swift-version 指定給編譯器,由 Swift 包管理器和 Xcode 自動處理。
詳情:
-
Migrating to Swift 4
三、包管理器升級
Swift 4 為 Swift Package Manager 引入了新的工作流功能和更完整的 API :
-
在 Tag 你的***個正式版本之前,可以輕松多包開發(fā),或者在多個軟件包的分支上一起工作。
-
可選擇控制發(fā)布給用戶的包。
-
新的 Package API 允許軟件包指定一些新的設(shè)置,使作者能夠更好地控制軟件包的構(gòu)建方式,以及如何在磁盤上組織源碼??偟膩碚f,用于創(chuàng)建包的 API 現(xiàn)在更為清晰,同時保留了與舊包的源兼容性。
-
在 macOS 上,Swift 軟件包的構(gòu)建現(xiàn)在會在一個防止網(wǎng)絡(luò)訪問和文件系統(tǒng)修改的沙箱中進行,有助于減輕惡意程序的影響。
詳情:
-
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
四、相關(guān)地址
文檔
-
Swift 4.0 相關(guān)文檔已在官網(wǎng)更新,在蘋果的 iBooks 商店也可免費下載。
下載
-
https://swift.org/download/
網(wǎng)頁題目:Swift4.0正式發(fā)布添加歸檔和序列化等功能
分享地址:http://www.dlmjj.cn/article/dhgseoc.html


咨詢
建站咨詢
