iOS

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

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




iOS

使用 Swift 實作基於堆積的優先權佇列 大幅改善演算法的時間複雜度

電腦科學中存在著許多問題,而其中,使用優先權佇列 (Priority Queue) 作為底層資料結構,就可以大幅改善演算法 (algorithm) 的時間複雜度。其中一個例子就是 Dijkstra 的最短路徑演算法,該演算法就使用優先權佇列在圖形中搜尋兩個頂點之間的最短路徑。 但不幸的是,Swift [...]





iOS

iOS App 介面設計教學:如何制作表格和集合視圖的組合介面

在 iPhone 和 iPad 的很多 app 裏面,我們都會看到許多用表格視圖和集合視圖制作起來的介面,大部分應該是表格視圖和集合視圖的組合介面。比如我們在 app store 裏面的遊戲欄或者 App 欄裏面會看到由表格視圖和集合視圖組合而成的漂亮介面。 又或者,你也會在快捷指令中心、Medium [...]


iOS

Massive View Controller 重構: Swift Extension 整理術

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



iOS

深入解析 Promises 輕鬆控制 Parallel Programming (平行程式設計)

並行 (concurrency) 的概念與我們日常開發工作越來越息息相關。在上兩篇文章中(Swift 平行程式設計:基礎 (Basic)、操作 (Operations)),我們已經探討過 Apple 所提供的工具。這次,我們將重點放在非官方所支援的工具上。 讓我們回顧一下: 並行 (concurrency) 是指在同一時間執行工作的能力。 [...]


iOS

利用 Protocol Extension 減少重覆的 Code 大大增強 Code 的維護性

對任何程式開發來說,減少重覆的 code,把權責明確分開,讓 code 維護性變好,是非常重要的課題。同樣功能的 code,如果分散在程式的各個角落,不但改功能時很有可能會漏改或改錯,而且要找到某個功能確切的擺放位置也會非常困難;這些都會讓開發成本變得非常高,也會讓開發所需要的時間變得難以估計。 [...]


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建立視圖控制器畫面之間的動畫過場