標籤:
寫iOS 程式的時候往往需要很多第三方架構的支援,可以大大減少工作量,講重點放在軟體本身的邏輯實現上。
GitHub 裡面有大量優秀的第三方架構,而且 License 對商業很友好。一下摘錄一下幾乎每個項目都想整合的幾個架構。
1. Mantle
Mantle 讓我們能簡化 Cocoa 和 Cocoa Touch 應用的 model 層。簡單點說,程式中經常要進行網路請求,請求到得一般是 json 字串,我們一般會建一個 Model 類來存放這些資料。這就要求我們編寫一系列的序列化代碼,來把 json 轉換為 Model 。這很費時間,容易錯,不容易修改。 Mantle 很好的解決了這個問題,而且更易用。
2. Masonry
IB 時代,如果你還在用代碼絕對布局就太 low 了。隨著蘋果發布 iPhone6 、 iPhone 6 plus 。 iOS 裝置將會出現越來越豐富的螢幕尺寸,我們不可能根據每個尺寸做一套布局。所以,使用 autolayout 就很有必要了。在 storyboard 中,可以非常方便的使用 autolayout ,但是為了更好的協作開發,有些公司依然在手寫布局,令人沮喪的是蘋果提供的 autolayout 文法晦澀難懂,非常影響效率(你可以在 這裡 動態查看 autolayout 的文法)。 Masonry 就是設計來解決複雜的手寫 autolayout 。如何優雅的使用 autolayout ,且看 Masonry 。
3. Reachability
移動互連網時代,應該很少有應用是不需要網路連接的吧。監測網路連接狀態幾乎是必不可少的一部分。 Reachability 可以完美的完成這一任務
4. BlocksKit
BlocksKit絕對是 Objective-C 的知心伴侶,它為 OC 常用類提供了強大的 Block 文法支援,使得編寫 OC 代碼變得舒適、快速、優雅。反正我是絕對離不開它。
更多技術請關注iOS開發:iOSDevTip
GitHub : https://github.com/zwaldowski/BlocksKit
參考: block 使用小結、在 arc 中使用 block 、如何防止循環參考 (zz)
CocoaPod 整合: pod ‘BlocksKit‘, ‘~> 2.2.5‘
5. KVOController
如果你在項目中有使用 KVO ,那麼 KVOController 絕對是個好選擇。它是 facebook 開源的一個 KVO 增強架構。有以下幾個特性:
使用 Blocks 、自訂 Actions 或者 NSKeyValueObserving 回調進行通知 .
觀測者移除時無異常
控制器 dealloc 時隱式的觀測者移除
提升使用 NSKeyValueObservingInitial 的效能
安全執行緒並提供在觀測者恢複時額外的保護
還有什麼理由不使用 KVOController 呢?
GitHub : https://github.com/facebook/KVOController
參考: KVOController : facebook 開源的 KVO ( Key-value Observing )工具
CocoaPod : pod ‘KVOController‘, ‘~> 1.0.3‘
6. MBProgressHUD
一個老牌、經典的通知群組件,如果你們美工沒有專門設計等待和通知視圖,那就用它吧!
7. ODRefreshControl
很多公司都自己設計下拉重新整理視圖,比如網易新聞 iOS 用戶端,下拉的時候會有廣告出現。如果你只是需要一個下拉重新整理,那麼可以考慮 ODRefreshControl ,它是原 iOS6 上的橡皮糖重新整理樣式,很有意思。現在也很多大的 App 在用,比如蝦米音樂和 QQ 用戶端。
GitHub : https://github.com/Sephiroth87/ODRefreshControl
參考
CocoaPod : pod ‘ODRefreshControl‘, ‘~> 1.1.0‘
8. pop
又是 Facebook 開源的。大名鼎鼎的 pop ,做動畫的不二之選。收下它吧。
GitHub : https://github.com/facebook/pop
參考: Facebook Pop 使用指南 popping(pop 的使用執行個體 )
CocoaPod : pod ‘pop‘, ‘~> 1.0.7‘
9. AFNetworking
Objective-C下網路請求庫。
23-幾個iOS工程通用模組介紹