xcode
RESTful API 教學:用 Swift 建立屬於自己的輕量 REST 程式庫!
現今大部分的 App 都會與伺服器溝通來交換資料,為了達到這個目的,它們多採用 RESTful API,又稱為 RESTful 網路服務 (Web Serivce)。App 可以使用 REST 傳送請求 (Request) 到伺服器,然後伺服器會回傳回應 (Response) 給使用者端 App。整個通訊是基於 REST 架構所定義的標準規則。開發者能夠藉由整合第三方程式庫到專案、或是實作自己的解決方案,來使用 [...]
製作物件池 (Object Pool) 重複利用物件 讓你大大提升開發效能!
建造物件是一件耗時耗力的事。除了需要配置記憶體給它之外,可能還會牽涉到排版、渲染或載入外部資源等耗費大的動作。WKWebView 與 MKMapView 就是這樣的例子,都需要大量的時間去啟動。如果只有一次兩次的話還好,但如果它們經常出現的話,使用者就要常常等它們載入,很影響體驗。 [...]
利用 Xcode 11 的預覽功能 輕鬆測試 App 在 Dark Mode 下的表現
前一陣子,Apple 公開了 iOS 13 第一個測試版本。對一般使用者而言,這個新版本最大的亮點一定是深色模式 (Dark mode)。在設定內滑動開啟此功能後,iOS 就會讓一切變成深色系模式。在深色模式下,電話操作系統會自動為系統內所有的 Apps 和螢幕套用深色主題。一些 [...]
IGListKit 的演化:一起來看 Instagram 如何逐步解決 App 問題!
IGListKit + MVVM 是 Instagram 對於 iOS UICollectionView UI 與數據解耦的解決方案,IGListKit 的設計理念是以數據驅動,來解決不同 Team 之間的需求,包含不同的數據與不一樣的 Layout。 有關於 Code 說明與範例,我建議你搭配原始碼參考閱讀 IGListKitArchetype。 原始 UICollectionView [...]
利用 SwiftUI 建立表單 UI 體驗更互動的開發過程!
在上一篇教學中,我們簡單介紹了 SwiftUI 的基礎知識,並帶你建構了一個簡單的使用者介面。經濟一星期的探索,即使這個框架現階段還是有些 Bug,但我真的很喜歡利用這個框架來建構使用者介面!這個框架為開發者提供了一個新的方式來開發 UI,讓你以更少的程式碼建構出相同的 [...]
SwiftUI 初體驗: 建構一個簡單 App 讓你了解 SwiftUI 有多強大!
在今年 WWDC 2019 大會之中,最令人振奮的主題演講莫過於開發者工具的改善,而其中最大而最棒的消息就是 SwiftUI 的發佈。SwiftUI 是一個全新的框架,讓你用更少程式碼、並以宣告的方式,來設計及開發使用者介面。 SwiftUI 與 UIKit 不同,UIKit 通常要配合 storyboards [...]
簡單而強大的 Drag and Drop API 讓你輕鬆建立屬於自己的 Trello App
當建構一個讓使用者在螢幕上移動數據的 App 時,拖放 (Drag and Drop) 就是一種很自然的使用者交互 (User Interaction)。這樣的互動方式在 Trello、Jira 等相關 App 中廣泛使用,以在版面之間移動數據。 在 iOS 11 發佈之前,以拖放互動方式來建立一個 iOS app 並不是簡單。以我過往的經驗來說,我們會要手動實作許多乏味的步驟,像是: [...]
善用 Xcode Instruments 來最佳化程式碼 大大提高 App 效能!
世界上還有些頑固的人,拒絕使用如物件導向程式設計 (Object-Oriented Programming)(特別是繼承 (Inheritance) 與多型 (Polymorphism))、協定 (Protocol) 和協定導向程式設計 (Protocol-Oriented Programming)(特別是組合 (Composition))、泛型 (Generics) 與閉包 (Closures) 等技術。在意識層級上,這些頑固的人拒絕這些技術的原因,是因為他們認為這些技術會造成「巨大」的效能消耗。在潛意識中,這些頑固的人並不了解這些技術。所以,我們應該相信 [...]
你也可以自訂搖動還原 (Shake to Undo) 的功能?一起來拆解並實作吧!
在 iOS 上編輯內容的時候,如果要還原或重做步驟的話,通常可以透過搖動來呼叫出一個還原的警告: 這個搖動還原 (Shake to Undo) 功能在 UITextView 或者 UITextField 等文字編輯的 view 上是內建的,但大多數其他的 view 都沒有預設實作。還好,UIKit 其實已經幫我們做好了從動作偵測到顯示警告的部分,我們只需要提供第一響應者 [...]
善用 Xcode Target 來管理專案 為你節省大量時間!
在本次的教學中,我將展示如何利用 Xcode Target 控制建構 iOS App(以及 macOS、watchOS 和 tvOS)過程中的複雜性。如果開發者知道並非所有事情都要靠程式碼(如 Swift)來完成的話,就可以節省大量時間。像 Xcode 這樣的整合式開發環境 (IDEs) 提供了許多強大的工具,其中一個就是 [...]