GitHub 上都有哪些值得关注学习的 iOS 开源项目?

如果仅按照 GitHub 月流行查看 Objective-C 项目的话有 ── Trending Objective-C repositories o…
关注者
9,624
被浏览
826,002
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

David Chang

邀请

看了上面的答案,值得关注学习的开源项目其实还真没有几个。

首先,学习这类开源项目的主要目的是为了实现产品汪需求,如果不是这个目的,完全可以看

Explore GitHub

,当前最火的开源项目都在这里,当然你需要过滤一下语言。

好了,介绍几个希望能帮助到你。

普通的iOS开发项目基本就是网络、本地存储+一些狂拽炫酷的动画,想想看是不是?

-------------------- 割 ---------------------

网络

(替代

EGOTableViewPullRefresh

LoadMoreTableFooterView

网络请求首选AFNetworking,无数个项目证明,只选对的。

Reachability也要用起来,时不时检查一下网络状况,然后配合MBProgressHUD告知用户「亲,你丫现在没网啦,别特么戳了。

使用

SVPullToRefresh

处理刷新。

-------------------- 割 ---------------------

数据解析(JSON)

推荐使用YYModel,解析效率可以查看下图(iPhone6上基于解析Github用户10000测试)

可以看到YYModel几乎接近手动解析JSON数据,同时还提供了很多便利的方法。(例如接口返回一个名字叫做id的字段,id。。。厉害了word哥)

本地存储

FlyImage在iPhone6 Plus上处理『当图片滚动时』场景所消耗的内存,可以看到几乎和UIKit占用的相当,SDWebImage可以下课啦哈哈。

这张图是FlyImage处理170张小图时的内存表现,同样完爆SDWebImage,并且从帧率上可以看出SDWebImage已经卡到爆炸了。我正计划换掉SDWebImage,另外对于FlyImage处理GIF时的表现暂不清楚,所以有大量GIF图需要处理的同学仍需自行测试。

第一次开发中引入数据库的时候使用过FMDB,其实蛮强大的,只不过需要写sql语句,select * from user(从user表中筛选出全部数据)。

后来慢慢的抛弃了它,一点也不面向对象。好吧,其实我是想说还是CoreData好用,至少你不会因为不会写sql而没法保存数据。(接手过的项目竟然还有全部存NSUserDefault的,真是没脾气了)

看过一篇对比CoreData和FMDB查询大数据性能的文章,FMDB赢了,不过还是推荐用CoreData。


-------------------- 割 ---------------------


动画效果

上面说到的没网了提示用户的MBProgressHUD,用起来吧,当然还有很多转菊花(loading)的开源项目,同样是我使用最多的。



pop是facebook paper使用的动画效果,开源了出来,很赞啊,不过应用到项目中的可能性很低。。。太特么炫酷了。

-------------------- 割 ---------------------


其他

第三方库管理工具,

CocoaPods

,有时间可以学习一下。

CocoaPods GitHubGithub repos (iOS)

这是一个收集了很多iOS开源项目的页面,给作者赞一个。

Carthage

另外一款包管理器,可以尝试。

有不完善的地方欢迎指出,我会及时补充上来。

持续更新中。。。