Swift 6.3 內(nèi)置于 Xcode 26.4,重點不在語言的新特性,而是擴展 Swift 的適用邊界,同時提升開發(fā)者的使用體驗。
模塊選擇器
引入模塊選擇器,用于指定 Swift 應該在哪個導入的模塊中查找代碼中使用的 API。
import ModuleA
import ModuleB
let x = ModuleA::getValue() // 調(diào)用ModuleA的getValue()
let y = ModuleB::getValue() // 調(diào)用ModuleB的getValue()
DocC
文檔工具新增如下功能。
- Markdown 輸出:支持同時生成文檔頁面的 Markdown 版本。
- 靜態(tài) HTML 內(nèi)容嵌入:在每個頁面的
<noscript>標簽中嵌入輕量級 HTML 摘要。 - 代碼塊注解:支持
nocopy(禁用復制按鈕)、highlight(高亮指定行)、showLineNumbers(顯示行號)、wrap(按列寬自動換行)等新注解。
```swift, nocopy, highlight=[1, 3], showLineNumbers, wrap=80
let name = "World"
let greeting = "Hello"
print("\(greeting), \(name)!")
```
C 互操作增強
- 引入
@c修飾符,可以將 Swift 函數(shù)/枚舉暴露給 C 代碼。
@c
func swiftFuncCallFromC() { ... }
// C頭文件
void swiftFuncCallFromC(void);
// 自定義函數(shù)名
@c(callFromC)
func swiftFuncCallFromC() { ... }
// C頭文件
void callFromC(void);
-
@c可以與@implementation配合使用,允許通過 Swift 實現(xiàn) C 頭文件中聲明的函數(shù)。
// C頭文件
void cFuncImplBySwift(void);
// Swift實現(xiàn)
@c @implementation
func cFuncImplBySwift() { ... }
Embedded Swift
Embedded Swift 是 Swift 面向嵌入式(MCU/IoT)的子集,強調(diào)低資源占用 + 小體積二進制。在 Swift 6.3 中,對該內(nèi)容進行了多項改進,逐步走向可實際使用階段。具體參考 Embedded Swift Improvements coming in Swift 6.3。
Android
Swift SDK for Android 正式發(fā)布,開發(fā)者可以進行如下操作。
- 使用 Swift 編寫原生 Android 程序。
- 通過 Swift Java 與 Swift Java JNI Core,將 Swift 代碼集成到 Kotlin/Java 編寫的現(xiàn)有 Android 應用程序。
- 具體參考 Getting Started with the Swift SDK for Android。