汇总iOS开发中需要用到的开源库
2015-11-03 20:01
477 查看
我是 java & php 程序员,遇到了坑爹的iPhone,被逼无奈在崩溃的边缘下学习Object-C ,在学习中遇到了很多 奇葩,无知,龌蹉,呕吐的问题(弱弱的说 : 有的些问题到现在还不知道具体的原理)故此把开发中所有遇到的问题,和需要使用的开源库 一一记载下来,为那些苦B的要学习Object-C的屌丝们加点料吧。本文纯粹记录性游记类文章,学术性观摩团请绕行,专家请绕行。在编写过程中避免不了 出现问题或者遗漏问题,希望大家多多指点与板砖!
1、iOS &iPhone 网络异步加载 asi-http-request
【1-1 ASI HTTP 下载地址】
https://github.com/pokeb/asi-http-request
【1-2 注意事项】
下载asi-http-request-master后解压,把\Classes文件下所有文件,\External\Reachabipty 文件夹下所有文件添加到你的工程中。
在 Build Phases中添加相应的pnk Binary With pbraries
(1)MobileCoreServices.framework
(2)SystemConfiguration.framework
(3)CFNetwork.framework
(4)pbz.dypb
由于ARC Restrictions导致的祖国山河一片红
选中相关文件 回车后输入命令:-fno-objc-arc
【1-3 小试牛刀】
引入头文件 #import "ASIHTTPRequest.h"
更详细的使用方法请参照:/article/4627683.html
2、解析JSON数据 SBJSON
【 2-1 SBJSON 下载地址】
https://github.com/stig/json-framework
【2-2 注意事项】
解压后把相应的文件导入到工程中,尚未发现问题
【2-3 小试牛刀】
在1-3的小试牛刀中,我们请求了有关天气的URL,这个URL会有一个JSON的相应,我们继续1-3,来解解析这个响应的JSON
3、加载网络数据的时候 显示onLoading动画图片 MBProgressHUD
【3-1 MBProgressHUD 下载地址】
https://github.com/jdg/MBProgressHUD
【3-2 注意事项】
下载后导入MBProgressHUD.h MBProgressHUD.m 暂时没有发现恶心的问题
【3-3 小试牛刀】
导入头文件 MBProgressHUD.h,继续2-3小试牛刀 ,2-3中我们异步读取天气信息,所以我们需要在请求前显示加载动画,在请求结束,或网络出现问题时 我们需要关闭动画
4、iOS &IPhone 异步图片加载 EGOImageLoadding
【EGOImageLoadding 下载地址】
https://github.com/enormego/EGOImageLoading
【小试牛刀】
5、上拉刷新,下拉翻页
【5-1 EGOTableViewPullRefresh 下载地址】
https://github.com/enormego/EGOTableViewPullRefresh
【5-2 注意事项】
需要在pnk Binary with pbraries中加QuartzCore.framework Foundation.framework CoreGraphics.framework 以及 [1-2 中的注意事项]
6、左边菜单导航 ECSpdingViewController-master :
https://github.com/edgecase/ECSpdingViewController
【编辑推荐】
全面理解iOS开发中的Scroll View
iOS IPA文件的自动化生成和无线分发
苹果公司正式推出车载iOS系统CarPlay
探索iOS开发中的消息传递机制
iOS项目目录结构和开发流程
1、iOS &iPhone 网络异步加载 asi-http-request
【1-1 ASI HTTP 下载地址】
https://github.com/pokeb/asi-http-request
【1-2 注意事项】
下载asi-http-request-master后解压,把\Classes文件下所有文件,\External\Reachabipty 文件夹下所有文件添加到你的工程中。
在 Build Phases中添加相应的pnk Binary With pbraries
(1)MobileCoreServices.framework
(2)SystemConfiguration.framework
(3)CFNetwork.framework
(4)pbz.dypb
由于ARC Restrictions导致的祖国山河一片红
选中相关文件 回车后输入命令:-fno-objc-arc
【1-3 小试牛刀】
引入头文件 #import "ASIHTTPRequest.h"
更详细的使用方法请参照:/article/4627683.html
- (void)viewDidLoad { [super viewDidLoad]; //请求的后台活动列表 NSURL *url = [NSURL URLWithString:@"http://m.weather.com.cn/data/101180701.html"]; ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; [request setDelegate:self]; [request startAsynchronous]; } //异步请求开始 - (void)requestStarted:(ASIHTTPRequest *)request { NSLog(@"request start :%@", @"start"); } //异步请求结束 - (void)requestFinished:(ASIHTTPRequest *)request { // Use when fetching text data NSString *jsonString = [request responseString]; NSLog (@"Response JSON :%@", jsonString); } //异步请求错误 - (void)requestFailed:(ASIHTTPRequest *)request { // NSError *error = [request error]; NSLog (@"Response JSON :%@", @"error"); }
2、解析JSON数据 SBJSON
【 2-1 SBJSON 下载地址】
https://github.com/stig/json-framework
【2-2 注意事项】
解压后把相应的文件导入到工程中,尚未发现问题
【2-3 小试牛刀】
在1-3的小试牛刀中,我们请求了有关天气的URL,这个URL会有一个JSON的相应,我们继续1-3,来解解析这个响应的JSON
- (void)viewDidLoad { [super viewDidLoad]; //请求的后台活动列表 //NSURL *url = [NSURL URLWithString:@"http://192.168.1.4/beer/?cat=2&json=1"]; NSURL *url = [NSURL URLWithString:@"http://m.weather.com.cn/data/101180701.html"]; ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; [request setDelegate:self]; [request startAsynchronous]; } //异步请求开始 - (void)requestStarted:(ASIHTTPRequest *)request { NSLog(@"request start :%@", @"start"); } //异步请求结束 - (void)requestFinished:(ASIHTTPRequest *)request { NSString *jsonString = [request responseString]; NSLog (@"Response JSON :%@", jsonString); SBJsonParser *parser =[[SBJsonParser alloc] init]; NSDictionary *rootDic = [parser objectWithString:jsonString]; NSDictionary *weatherInfo = [rootDic objectForKey:@"weatherinfo"]; NSLog (@"Response JSON city :%@", [weatherInfo objectForKey:@"city"]); } //异步请求错误 - (void)requestFailed:(ASIHTTPRequest *)request { // NSError *error = [request error]; NSLog (@"Response JSON :%@", @"error"); }
3、加载网络数据的时候 显示onLoading动画图片 MBProgressHUD
【3-1 MBProgressHUD 下载地址】
https://github.com/jdg/MBProgressHUD
【3-2 注意事项】
下载后导入MBProgressHUD.h MBProgressHUD.m 暂时没有发现恶心的问题
【3-3 小试牛刀】
导入头文件 MBProgressHUD.h,继续2-3小试牛刀 ,2-3中我们异步读取天气信息,所以我们需要在请求前显示加载动画,在请求结束,或网络出现问题时 我们需要关闭动画
- (void)viewDidLoad { [super viewDidLoad]; //请求的后台活动列表 NSURL *url = [NSURL URLWithString:@"http://m.weather.com.cn/data/101180701.html"]; ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; [request setDelegate:self]; [request startAsynchronous]; } //异步请求开始 - (void)requestStarted:(ASIHTTPRequest *)request { NSLog(@"request start :%@", @"start"); [MBProgressHUD showHUDAddedTo:self.view animated:YES]; } //异步请求结束 - (void)requestFinished:(ASIHTTPRequest *)request { [MBProgressHUD hideHUDForView:self.view animated:YES]; NSString *jsonString = [request responseString]; NSLog (@"Response JSON :%@", jsonString); SBJsonParser *parser =[[SBJsonParser alloc] init]; NSDictionary *rootDic = [parser objectWithString:jsonString]; NSDictionary *weatherInfo = [rootDic objectForKey:@"weatherinfo"]; NSLog (@"Response JSON city :%@", [weatherInfo objectForKey:@"city"]); } //异步请求错误 - (void)requestFailed:(ASIHTTPRequest *)request { // NSError *error = [request error]; NSLog (@"Response JSON :%@", @"error"); [MBProgressHUD hideHUDForView:self.view animated:YES]; }
4、iOS &IPhone 异步图片加载 EGOImageLoadding
【EGOImageLoadding 下载地址】
https://github.com/enormego/EGOImageLoading
【小试牛刀】
5、上拉刷新,下拉翻页
【5-1 EGOTableViewPullRefresh 下载地址】
https://github.com/enormego/EGOTableViewPullRefresh
【5-2 注意事项】
需要在pnk Binary with pbraries中加QuartzCore.framework Foundation.framework CoreGraphics.framework 以及 [1-2 中的注意事项]
6、左边菜单导航 ECSpdingViewController-master :
https://github.com/edgecase/ECSpdingViewController
【编辑推荐】
全面理解iOS开发中的Scroll View
iOS IPA文件的自动化生成和无线分发
苹果公司正式推出车载iOS系统CarPlay
探索iOS开发中的消息传递机制
iOS项目目录结构和开发流程
相关文章推荐
- IOS开发: 返回字符串高度, 重定义cell高度, cell重用方法
- iOS9 3DTouch、ShortcutItem、Peek And Pop
- iOS(8)iOS中几种数据持久化方案:我要永远地记住你!
- SDWebImage的使用
- IOS 下载、查询等
- iOS开发 实现QQ第三方登录
- iOS 得到当前时间之前和之后N天的日期
- 开源 iOS 项目分类索引大全
- iOS开发中如何隐藏导航栏下的线条
- iOS提交被拒
- 一个iOS应用开发背后的流程
- IOS开发技巧--模拟器 cannot run 项目.
- FFmpeg在iOS上完美编译
- iOS推送证书的生成
- 绘图与动画之使用自定义属性与Quartz实现扇形加载动画
- IOS代码添加控件,控件移动,放大,缩小,旋转
- nagios详细讲解
- iOS沙盒机制和文件读写
- iOS沙盒机制和文件读写
- iOS Xcode, 解决“Could not insert new outlet connection”的问题。(我使用第二种方法成功了)