寫iOS 程序的時候往往需要很多第三方框架的支持,可以大大減少工作量,講重點放在軟件本身的邏輯實現上。
GitHub 裡面有大量優秀的第三方框架,而且 License 對商業很友好。一下摘錄一下幾乎每個項目都想集成的幾個框架。
1. Mantle
Mantle 讓我們能簡化 Cocoa 和 Cocoa Touch 應用的 model 層。簡單點說,程序中經常要進行網絡請求,請求到得一般是 json 字符串,我們一般會建一個 Model 類來存放這些數據。這就要求我們編寫一系列的序列化代碼,來把 json 轉換為 Model 。這很費時間,容易錯,不容易修改。 Mantle 很好的解決了這個問題,而且更易用。
GitHub : https://github.com/Mantle/Mantle
參考:
工具篇: Mantle
源碼篇: Mantle
CocoaPod 集成: pod 'Mantle', '~> 1.5.4'
2. Masonry
IB 時代,如果你還在用代碼絕對布局就太 low 了。隨著蘋果發布 iPhone6 、 iPhone 6 plus 。 iOS 設備將會出現越來越豐富的屏幕尺寸,我們不可能根據每個尺寸做一套布局。所以,使用 autolayout 就很有必要了。在 storyboard 中,可以非常方便的使用 autolayout ,但是為了更好的協作開發,有些公司依然在手寫布局,令人沮喪的是蘋果提供的 autolayout 語法晦澀難懂,非常影響效率(你可以在 這裡 動態查看 autolayout 的語法)。 Masonry 就是設計來解決復雜的手寫 autolayout 。如何優雅的使用 autolayout ,且看 Masonry 。
GitHub : https://github.com/Masonry/Masonry
參考:使用方法,請看 README
CocoaPod 集成: pod 'Masonry', '~> 0.6.1'
3. Reachability
移動互聯網時代,應該很少有應用是不需要網絡連接的吧。監測網絡連接狀態幾乎是必不可少的一部分。 Reachability 可以完美的完成這一任務
GitHub : https://github.com/tonymillion/Reachability
參考:使用方法非常簡單,請看 README
CocoaPod 集成: pod 'Reachability', '~> 3.2'
4. BlocksKit
BlocksKit絕對是 Objective-C 的知心伴侶,它為 OC 常用類提供了強大的 Block 語法支持,使得編寫 OC 代碼變得舒適、快速、優雅。反正我是絕對離不開它。
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
一個老牌、經典的通知組件,如果你們美工沒有專門設計等待和通知視圖,那就用它吧!
GitHub : https://github.com/jdg/MBProgressHUD
參考
CocoaPod : pod 'MBProgressHUD', '~> 0.9'
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下網絡請求庫。
GitHub : https://github.com/AFNetworking/AFNetworking
參考
CocoaPod : pod 'AFNetworking', '~> 2.5.0'