天天看点

开源中国iOS客户端学习——序

开源中国社区简介:开源中国 www.oschina.net 成立于2008年8月,是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。开源中国社区在移动设备上做了客户端以后,将他们源代码做了开源分享,让我们初学者有机会看到大牛们是怎样设计软件怎么写的代码,拿到源码也有一两个月了,只是草草的看了一遍,现在想深入的去学习一遍,分析一个完整工程代码,希望能收获些东西;

开源中国客户端上用到的东西很多,基本涵盖了我们做iOS应用开发需要学的全部内容,软件里面有很多特效用的是别人封装好的第三方类库,比如下拉刷新、异步加载图片、XML解析、正则表达式等,采用了经典的MVC设计模式,也许会觉得界面不如别的软件界面美观,但是却很值得我们正在学习iOS的同学去学习;

开源中国客户端界面

项目目录导航视图

项目目录简单解析:

1、AFNetwork --- 通用网络库

2、GCDiscreetNotificationView --- 顶部弹出并会自动消失的通知栏

3、Thread --- 后台线程对象,处理后台发送带图片的动弹

4、SoftwareGroup --- 所有软件索引页以及软件分组页

5、Friends --- 好友列表页,包括粉丝与关注者

6、Search --- 搜索页

7、Favorite --- 收藏页

8、MBHUD --- 载入提示控件

9、FTColor --- 富文本显示控件

10、EGOImageLoading --- 异步图像控件

11、User --- 其他用户个人专页以及登陆用户专页

12、Comment --- 评论列表页以及发表评论页

13、AsyncImg --- 异步图像控件,总要用于列表中用户头像加载

14、Setting --- 登录,注销以及关于我们

15、Profile --- 动态页,发表留言,以及对话气泡

16、News --- 新闻,问答的列表以及所有类型的文章详情页

17、Tweet --- 动弹列表,发表动弹以及动弹详情

18、Helper --- 项目辅助类

19、TBXML --- xml解析,反序列化所有API返回的XML字符串

20、ASIHttp --- 另一种网络库,负责用户登陆以及发送带图片的动弹

21、Model --- 项目所有的实体对象

22、Resource --- 项目资源

 Model 目录的子对象:

Model ├ Tweet 动弹列表单元,也用于动弹详情 ├ News 新闻列表单元 ├ Post 问答列表单元 ├ Message 留言列表单元 ├ Activity 动态列表单元 ├ Config 程序配置设置 ├ SingleNews 新闻详情 ├ SinglePostDetail 问答详情 └ Comment 评论列表单元 └ Software 软件详情 └ Blog 博客详情 └ Favorite 收藏列表单元 └ SearchResult 搜索结果列表单元 └ Friend 好友列表单元 └ SoftwareCatalog 软件分类列表单元 └ SoftwareUnit 软件列表单元 └ BlogUnit 博客列表单元

OSAppDelegate 的启动方法中,声明一个 UITabBarController,然后依次将

NewsBase

PostBase

TweetBase2

ProfileBase

SettingView

填充到5个UITabItem里

1,在OSX系统上启动iTunes程序

2,启动Xcode,将项目中的 OSChina/Products/oschina.app 按住command键然后用鼠标拖放到iTunes的应用程序栏目

3,然后在iTunes程序中右键点击"开源中国"图标,在弹出的的菜单中选择"在Finder中显示",这样你就看到ipa文件的路径了。

     本文转自新风作浪 51CTO博客,原文链接:http://blog.51cto.com/duxinfeng/1208697,如需转载请自行联系原作者

继续阅读