iOS

從零打造基本版 Combine 認識 Functional Reactive Programming

這篇文章可搭配投影片版閱讀。 Apple 平台的開發者社群對於 FRP (Functional Reactive Programming ,函數式反應式程式設計) 的接受,相對於網頁開發者來說算是晚的。即使有了 RxSwift、ReactiveSwift 等開源的 FRP 框架流行,FRP 似乎還是被社群視為是一個艱深難學、不適合一般人的概念。不過,這樣的觀感正在改變中。隨著 [...]


iOS

利用 Swift 5.1 新功能實作 Fluent Interface 讓程式碼更易讀流暢!

最近,SwiftUI 正如火如荼地在全世界進行公開測試。如果你也有經意或不經意地接觸到 SwiftUI,那你可能會發現,它在設定 View 性質的語法上,跟我們以前學過的很不一樣。 一般在設定物件的時候,我們通常是這樣寫的: 但是在 SwiftUI 裡,我們卻得這樣寫: 差別很大對不對?先不要管句型的細節,光就排版的美感來說,後者不只比前者簡潔許多,它的縮排也很清楚地告訴讀者:後面三行都是第一行的子句,重點還是在第一行。反之,前者的每一行縮排都一樣,看不出重點,而且每一句還都得重複寫一次 [...]


iOS

製作物件池 (Object Pool) 重複利用物件 讓你大大提升開發效能!

建造物件是一件耗時耗力的事。除了需要配置記憶體給它之外,可能還會牽涉到排版、渲染或載入外部資源等耗費大的動作。WKWebView 與 MKMapView 就是這樣的例子,都需要大量的時間去啟動。如果只有一次兩次的話還好,但如果它們經常出現的話,使用者就要常常等它們載入,很影響體驗。 [...]




iOS

客製化 NotificationCenter 讓你使用起來更簡單

觀察者模式是一個常見、而且歷史悠久的程式設計模式,而在 Swift 裡,它主要是以通知與通知中心 (NotificationCenter) 的形式存在的。簡單來說,物件可以去向通知中心註冊,成為某一種通知事件的觀察者,然後當有人向通知中心送出通知的時候,通知中心就會去找它的註冊表裡面,所有有註冊這個通知類型的觀察者,並將通知傳送給它們。 [...]


iOS

Massive View Controller 重構: Swift Extension 整理術

Extension 是 Swift 裡用來延伸既有型別的東西。透過 Extension,當我們想為某個型別加功能的時候,就可以不用把新的功能寫在該型別的主體裡面。比如說,如果我們想為 Cat 增加一個 purr() 方法的時候,可以這樣寫: [crayon-5dcda63242795002588274/] 這種能力讓我們可以為一些碰不到原始碼的型別,加上我們自己給的功能。這也就是所謂的回顧式建模 [...]





iOS

你也可以自訂搖動還原 (Shake to Undo) 的功能?一起來拆解並實作吧!

在 iOS 上編輯內容的時候,如果要還原或重做步驟的話,通常可以透過搖動來呼叫出一個還原的警告: 這個搖動還原 (Shake to Undo) 功能在 UITextView 或者 UITextField 等文字編輯的 view 上是內建的,但大多數其他的 view 都沒有預設實作。還好,UIKit 其實已經幫我們做好了從動作偵測到顯示警告的部分,我們只需要提供第一響應者 [...]


iOS

《iOS 10 App程式設計進階攻略:39個必學的開發技巧》正式推出


iOS

Lottie初學者教學指南:如何在iOS App設計一個令人驚豔的動畫


Swift

精通Swift:列舉、閉包、泛型、Protocols和高階函數


iOS

iOS 9 新功能 : 堆疊視圖介紹 (Stack Views)


Swift

Swift 2 初學者指南


iOS

Swift 教學:如何使用iOS Charts API 製作漂亮的圖表


iOS

以Parse與Swift建構一個像Instagram一樣的App


iOS

建立一個像Medium App的下滑選單


iOS

如何用Swift建立視圖控制器畫面之間的動畫過場