关于目前自己iOS项目使用的第三方开源库

1.AFNetworking

  目前比较推荐的iOS网络请求组件,默认网络请求是异步,通过block回调的方式对返回数据进行处理。

 

2.FMDB

  对sqlite数据库操作进行了封装,demo也比较简单。

 

3.MBProgressHUD

  也是iOS项目常用的一个组件,用于显示过渡效果的,比如网络请求之前显示loading,网络结束隐藏loading。建议封装在BaseViewController中,所有ViewController继承就能使用。

 

4.MJRefresh

  这个是传智播客李明杰老师的作品,自己的oc基础就是看他的视频半个周末就基本拿下了。MJRefresh主要用于刷新操作,提供了常用的刷新操作,还有刷新动画,用着很好用。建议把方法封装在BaseViewController中,这样修改刷新操作时,就只需要改动一份。(之前用的旧版MJRefresh,只支持普通的刷新,不支持动画,后来更新后版本变化比较大,旧的方法已经不推荐使用了,所以还是封装基类中使用比较好,方便以后修改)

 

5.SDWebImage

  也是iOS最常用的一个组件,用户加载网络图片,可以缓存到本地。大概原理时,第一次加载后,会根据url加密作为文件名缓存在本地,如果再次加载图片时,就直接从本地加载。用着也比较简单。这里也分享遇到的一个问题,先从网络加载一张小图,然后小图作为占位图,再从网络加载一张大图。

 

6.RDVTabBarController

  一个TabBar组件,可以方便设置底部菜单的文字图片,点击效果,小红点提示等。

 

7.Toast

  类似android的toast提示效果,封装在BaseViewController中,需要的地方进行提示。

 

8.XMPPFramework

  iOS唯一的xmpp类库,作者在去年8月份添加了xep-0198协议支持(流管理,用于xmpp断线重连),但是通过pod进行更新时,无法下载到最新版本,可能0198还没有完善好,无法作为正式版。

 

9.TPKeyboardAvoiding

  用户键盘弹出自动计算高度,进行屏幕滚动操作。

 

10.AMR

  做即时通讯的音频处理,目前我们的即时通讯使用的录音文件是m4a,便于web端的音频播放。

 

11.TQRichTextView

  用于做富文本视图控件显示,用于即时通讯的表情显示,以及资源评论的富文本显示。

 

12.CSGrowingTextView

  用作即时通讯文本框和评论文本框使用,可以显示多行输入。

 

13.MJExtension

  也是李明杰老师的作品,用于json转model进行使用,有点类似于java中谷歌的Gson。转换效率据说也很高,使用也比较简单,只要前后台约定好,json直接就转成了model。一个工作多年的iOS朋友说,一个项目主要的是对model层的管理,他推荐的是Mantle。不过MJ这个更轻量级点,用着也更加简单。

 

posted @ 2015-04-22 20:41  wangzhipeng  阅读(11417)  评论(2编辑  收藏  举报