Recent posts

WWDC23 - Swift 加入了 Macros 特性 - State of the union

在前面的文章,寫過了 使用 swift async/await 串接 closure 的方法,但在 WWDC23 的 State of the union 影片上,我看到了 macros 可以只使用一個 anootation 達到,還可以泛用到以前每個寫的 escaping closure,這...

從 Podfile.lock 確認專案使用的第三方套件的版本

iOS App 開發中,通常會用到第三方 libs,本篇文章主要是要介紹如何從 Podfile.lock 確認專案使用的第三方套件的版本。在 iOS 專案中,紀錄所有第三方 libs 和相依關係的檔案,是 Pofile.lock,當協同的開發者進行開發時,我們只要在 terminal 的同層目...

如果 table view 中有兩種以上的資料型態,你可以這樣處理程式碼

清單型的 UI 在 iOS App 上是非常常見的設計,從內建 App 的「聯絡人」、「通話紀錄」、「設定」都是用 Table(在另一個平台叫 list) 清單型的 UI 做出來的。TableView 在手機上有個很大的優點,他可以在有限的螢幕上,呈現超過螢幕的資訊,使用者只需要往一個方向滑,...

Alerts 出現選項時,主要動作要放哪一邊?左?右?(Apple 的 OS 請放右邊(也就是最後面))

Alerts 出現選項時,主要動作要放哪一邊?左?右? Alerts 是一種常見的用戶反饋機制,它可以提醒用戶發生了什麼事情,或者需要用戶做出一些決定。Alerts 通常會有一個或多個選項按鈕,讓用戶可以選擇接受、取消、確認、忽略等不同的動作。那麼,這些選項按鈕應該放在 Alerts 的哪一邊...

Delegate Pattern (委派模式)in Swift

Delegate Pattern 是 iOS 開發常用的設計模式,它可以讓一個物件將某些職責或行為委託給另一個物件,從而實現解耦和靈活性。在 Swift 中,我們通常使用 protocol 來定義 delegate 的介面,並讓 delegate 物件遵循該 protocol。在這篇文章中,我...

iOS 的 MVC 架構

MVC 是 Apple 範例框架,在 UIKit 的時代,這是個很重要的 pattern。最近有空的時間,都會花一點時間去看一本很久以前的書Cocoa 設計模式。