如何解決 NSTimer 造成的 retain cycle
故事是這麼開始的最近在替公司 app 做健康檢查,找到一些 memory leaks 的問題,其中一個就是由 NSTimer所引起的 retain cycle。NSTimer是個很容易造成 retain cycle 的物件,無論是新手或是老手都很可能一個不留意就踩到這個坑。舉個很常見的例子,這樣寫就產生 retain cycle 了:@interface MyViewController()...
View Article為何 Git-Flow 可能不適合你
什麼是 Git-FlowGit-Flow是 Vincent Driessen在 2010 年提出的一套 Git 分支模型,簡單的說,它有 master跟 develop這兩個主要的分支,以及 feature / release / hotfix這三個支援型分支,至於各個分支的用途看圖片應該就懂了,或是看原文有更詳細的說明。由於當時大家對如何使用 Git...
View Article如何為各個 Pod 指定 Swift 版本
最近升上 Swift 4.2,發現我用到的 Pods 有些還沒支援 4.2 導致編譯錯誤。解決方法也很簡單,只要指定每個 Pod target 的 SWIFT_VERSION為 4.0即可。但是我們不能手動在 Xcode 裡頭調整,因為 CocoaPods 會把 Pods 的 SWIFT_VERSION設為跟你的 project 一樣,所以下次 pod install又會被改掉。我們可以在...
View ArticleiOS App 如何支援 RTL 語言
公司的產品越做越大,前一陣子幫公司的 app 加上阿拉伯文介面,開發過程也累積了一些支援 RTL 語系的心得,藉這個機會跟大家分享。找到 Native Speaker對於書寫方向是「從左到右」的我們來說,最困難的其實不是看不懂這個語言,而是不知道這樣的 layout 是否正確,因為 layout 絕對不是全部都無腦的換成「從右到左」就好。所以如果情況許可,最好找個 native speaker...
View Article本站搬家了
為了更高的彈性以及更好的資料自主性,我把部落格搬到 GitHub Page,這邊將不再維護。想看最新文章的朋友,請移駕到 https://chiahsien.github.io/,它也有提供 RSS 訂閱服務喔。
View Article