Recent posts

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 設計模式。

微軟新服務 Microsoft designer 現在不用排隊等白名單了,可以直接使用

如果你想要創造出專業品質的社交媒體貼文、邀請函、數位明信片、圖像等,你一定要試試 Microsoft Designer。這是一款圖像設計應用程式,可以幫助你從你的想法開始,創造出獨一無二的東西。Microsoft Designer 的亮點是它利用了人工智慧的技術,讓你只要輸入文字,就可以快速生...

當升級第三方版本時,什麼樣的版號會讓專案 build 失敗?

在 iOS 開發中,我們常常會使用第三方套件來增加功能或減少工作量。但是,如果我們直接下載套件的原始碼,或者使用 git submodule 的方式,我們可能會遇到一些問題,例如版本不一致、相依性不清楚、更新不方便等等。為了解決這些問題,我們可以使用 cocoapods 這個工具來協助管理第三...

Charts 的 4049 & 4132 issue,造成閃退的原因

Charts 是 iOS 專案開發中很常使用的圖表繪制套件,不過今年,我在專案上遇到了很奇怪的狀況,在 Firebase Crashlytics 的 Dashboard 上,一直有零星的閃退,這閃退是發生在使用 Charts 套件的 renderer 裡面。而且在 release 給 QA 時...

將第三方 lib 包起來,減少升級 lib 的痛苦

現在的 iOS 開發,通常會用到第三方 libs。而隨著每年的 Swift 改版, Xcode 改版, 語法改變,libs 也會升版。下方是 Alamofire 和 Charts 進一年來的版號升級趨勢,libs 是會升級的。依照 語意化版本的說明 如果動到大版號,是不太可能一行都不改,然後專...

SwiftUI 資料流

SwiftUI 以宣告式的方法進行 UI 設計。整個資料的傳遞是 Action →State → View 的方向,而這個方向是固定的,不會有逆向的可能。你也可以查 one way data flow 這個名詞,不只是 mobile 端,現在在其他端也有很多這樣的 data flow 設計。