📦讓錯誤不可能發生:Swift Tagged 簡介
Swift Tagged 是我幾乎寫每個 iOS App 都會預設使用的 Swift Package。這篇文章會介紹它解決的問題,以及解法背後的思路哲學。
我想來介紹一些我很愛用的套件。
Swift Tagged 是我幾乎寫每個 iOS App 都會預設使用的 Swift Package。這篇文章會介紹它解決的問題,以及解法背後的思路哲學。
問題
一個 App 裡通常會有多種資料型別,而且許多都會有 ID(identifier)。尤其是 SwiftUI app 在顯示列表時,不管是 List 還是 ForEach 都可以傳入 Identifiable 的陣列。
在這種條件下,其實傳錯 id 是有可能發生的。比如說 User 的 ID 是 String、Item 的 ID 也是 String,那麼把 user.id 的值丟給 items 去查找,完全有可能發生。
繼續閱讀
解鎖全文
訂閱⟪13報+⟫,閱讀本篇全文,並解鎖 200 篇以上專欄與短篇。
- 完整專欄文章與深度分享
- Apple 開發者週報完整版
- 會員限定短篇抒發
- 支持 13 寫作
延伸閱讀
❎iOS 本地 AI:用 AnyLanguageModel 加 MLX 跑開源模型
AnyLanguageModel 讓 Hugging Face 上的開源 LLM 很容易下載與開始使用,只要三行程式碼就可以呼叫 MLX 框架以及配套工具。我也更新了範例專案,可以直接在 Mac 與 iOS 裝置上試玩。
✨Swift Dependencies 的語法靈感來自 SwiftUI Environment
Swift Dependencies 的語法設計受到 SwiftUI Environment 啟發,兩者的宣告方式幾乎完全相同。透過互相對照,讓你一次學會兩種機制。
📦解決 SwiftSyntax 編譯超慢的問題
我過去對於推廣使用 Point-Free 的許多套件有所保留,因為使用 Swift Macros 來簡化語法,連帶依賴的 SwiftSyntax 會浪費大量的編譯時間。我甚至為了這個問題而換電腦。幸好自從 Xcode 16.4 以後獲得解決了!