Swift 被 Apple 定義為面向 Protocol 的編程語言 - iOS移動開發周報
新聞
-
21.5-inch 的 4K Retina iMac :在 SDK 放出后,程序員們就沒有停止對其中隱藏細節的挖掘。自上周曝出 12-inch 的 iPad Pro 后,這周又有開發者在 OS X El Capitan beta 中發現了分辨率為 4096 x 2304 的一款 iMac 設備,這應該對應的是 Retina 的 21.5-inch iMac。
-
Apple 發布了第二版 iOS 9 beta SDK :相比起第一版 SDK,beta 2 中主要實裝了像 OptionSetType 等 Swift 2 特性,另外還修復了海量的 Swift 編譯器錯誤。一些詳情可以在 這里 找到。
教程
-
Introducing Protocol-Oriented Programming in Swift 2 :Swift 2 通過 Protocol Extension 大幅強化了 protocol 在這門語言中的地位,而整個 Swift 標準庫其實也是基于 protocol 來設計的,使用了大量的 protocol。可以說 Swift 是一門面向 protocol 的語言。這篇教程中列舉了一些 protocol 在實際使用中的方法,可以讓你掌握面向接口編程的基礎知識。
-
《RAC Marbles》 :一個直觀的交互展示 RAC 中各種信號行為的網站。雖然是針對 RAC 的,但是其實很多概念都是函數式編程通用的。對于函數式編程有興趣的朋友可以看看,另外也很適合在日常工作中用到時進行查閱。
-
《基于 CoreText 的排版引擎》 :CoreText 在做圖文混排和一些復雜的富文本排版時是不可避免要接觸到的。這一系列的文章從最基本的開始,一步一步完成一個支持圖文混排、支持圖片和鏈接點擊的排版引擎。推薦給想要入門和使用 CoreText 框架的朋友閱讀。
開源項目
-
Tropos :Thoughtbot 開源的一個天氣預報 app,使用了 ReactiveCocoa 和 MVVM 進行架構。想要學習使用這兩種技術的同學不妨仔細讀一下代碼,畢竟天氣預報作為一個入門 app 來說簡直是再適合不過了。之后這個項目還有已計劃遷移到 Swift 以及 ReactiveCocoa 3.0,所以可以持續關注。
-
Bohr :實際開發過一些 app 的話你就會知道,設置頁面一直很難做好。傳統來說我們會選擇使用 static 的 table view 來制作設置頁面,但是很多時候條件判斷和變更起來很不方便。Bohr 雖然也是基于 table view,但是卻是一個很不錯的改善方案。它封裝了一些常用的 cell 來幫助簡化構建設置頁面的流程,另外也將添加 cell 的工作進行了剝離,這使得設置頁面的制作更加簡便靈活。
-
GEOSwift :GEOSwift 是 Swift 寫的用來處理地理模型和拓撲模型關系和轉換的框架。另外這個框架也和 MapKit 和 MapboxGL 有很好的集成,app 中如果有地圖相關內容的話可能會很有用。
-
SXWaveAnimate :一個很漂亮的灌水動畫,可以用來豐富 app 中的動畫效果。可能泛用性并不是很好,但是可以對實現的動畫代碼進行參考,并調整寫出自己的動畫代碼。
-
DownloadButton :類似 App Store 下載時的按鈕,提供了多種樣式和狀態,并且可以在 Interface Builder 中進行自定義。如果 app 中有類似的按鈕需求的話,這個自定義控件能讓你省掉很多工作量。