首先,學習這類開源項目的主要目的是為了實現產品汪需求,如果不是這個目的,完全可以看Explore GitHub,當前最火的開源項目都在這里,當然你需要過濾一下語言。
好了,介紹幾個希望能幫助到你。
普通的iOS開發項目基本就是網絡、本地存儲+一些狂拽炫酷的動畫,想想看是不是?
-------------------- 割 ---------------------
網絡
(替代 EGOTableViewPullRefresh和 LoadMoreTableFooterView)
網絡請求首選AFNetworking,無數個項目證明,只選對的。
解析JSON數據推薦JSONKit,而且優勢相當的明顯,解析速度拉SBJson好幾條長安街。
以前發現過好多次由于SBJson引起的crash,如果還在用SBJson,那請繼續。
Reachability也要用起來,時不時檢查一下網絡狀況,然后配合MBPRogressHUD告知用戶「親,你丫現在沒網啦,別特么戳了。」
<del> EGOTableViewPullRefresh是用來下拉刷新的啦,同時配合</del>
<del>上LoadMoreTableFooterView(加載更多)就齊活了。</del>
使用SVPullToRefresh處理刷新。
-------------------- 割 ---------------------
本地存儲
第一次開發中引入數據庫的時候使用過FMDB,其實蠻強大的,只不過需要寫sql語句,select * from user(從user表中篩選出全部數據)。
后來慢慢的拋棄了它,一點也不面向對象。好吧,其實我是想說還是CoreData好用,至少你不會因為不會寫sql而沒法保存數據。(接手過的項目竟然還有全部存NSUserDefault的,真是沒脾氣了)
看過一篇對比CoreData和FMDB查詢大數據性能的文章,FMDB贏了,不過還是推薦用CoreData。
至于SDWebImage,同樣也是早期使用過,和SBJson一樣,會有crash,盡管用它來緩存圖片很方便,但是我們有更好的解決方案,同樣不推薦。
年前的項目中CTO推薦了我們TMCache,tumblr團隊使用的一個緩存項目(科普時間:tumblr是國外的輕博客服務,隨后國內就出現了點點等同期產品),有時間可以去了解一下,目前應用的不是特別多,當然啦,對我來說。
-------------------- 割 ---------------------
動畫效果
上面說到的沒網了提示用戶的MBProgressHUD,用起來吧,當然還有很多轉菊花(loading)的開源項目,同樣是我使用最多的。
pop是facebook paper使用的動畫效果,開源了出來,很贊啊,不過應用到項目中的可能性很低。。。太特么炫酷了。
-------------------- 割 ---------------------
其他
第三方庫管理工具,CocoaPods,有時間可以學習一下。 CocoaPods GitHub
Github repos (iOS) 這是一個收集了很多iOS開源項目的頁面,給作者贊一個。
新聞熱點
疑難解答