来源:http://mobile.51cto.com/hot-431256.htm

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"

更详细的使用方法请参照:http://www.cnblogs.com/zhwl/archive/2012/07/14/2591752.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开发中需要用到的开源库的更多相关文章

  1. IOS开发中制作属于自己的静态库.a、资源库.bundle、.framework

    一.什么是库        库实际上是一种代码共享的方式,主要用于代码重用和源码隐藏,通常分为动态库和静态库. 静态库:链接时完整的拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链接时不复 ...

  2. iOS开发中使用静态库 .a 文件

    ​​iOS开发中,在使用一些第三方库时,可能是一个静态库(比如GPUImage).这种情况下,需要编译出静态库文件(.a) ,然后配合响应的头文件(.h 文件)使用. 编译静态库,直接在Xcode中编 ...

  3. iOS开发中常见问题集锦

    在iOS开发中,会出现各种各样的问题.今天,就把这些常见的问题以及各位大牛的解决方案汇总下,方便以后查阅: 常见错误: 1. linker command failed with exit code ...

  4. iOS开发中获取WiFi相关信息

    iOS 开发中难免会遇到很多与网络方面的判断,这里做个汇总,大多可能是与WiFi相关的. 1.Ping域名.Ping某IP 有 时候可能会遇到ping 某个域名或者ip通不通,再做下一步操作.这里的p ...

  5. iOS开发中WiFi相关功能总结

    http://www.cocoachina.com/ios/20160715/17022.html 投稿文章,作者:Haley_Wong(简书) 查漏补缺集是自己曾经做过相关的功能,但是重做相关功能或 ...

  6. 总结iOS开发中的断点续传那些事儿

    前言 断点续传概述 断点续传就是从文件赏赐中断的地方重新开始下载或者上传数据,而不是从头文件开始.当下载大文件的时候,如果没有实现断点续传功能,那么每次出现异常或者用户主动的暂停,都会从头下载,这样很 ...

  7. iOS开发中静态库之".framework静态库"的制作及使用篇

    iOS开发中静态库之".framework静态库"的制作及使用篇 .framework静态库支持OC和swift .a静态库如何制作可参照上一篇: iOS开发中静态库之" ...

  8. iOS开发中静态库制作 之.a静态库制作及使用篇

    iOS开发中静态库之".a静态库"的制作及使用篇 一.库的简介 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的类型? 根据源代码的公开情况,库可以分为2种类 ...

  9. ios开发中的小技巧

    在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewal ...

随机推荐

  1. 使用lombok的@Builder的注解的一个坑

    一开发说项目报错 java.lang.Long,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lan ...

  2. WAL streaming (max_wal_senders > 0) requires wal_level "replica" or "logical"

    初次使用pg的11版本,执行以下操作修改归wal_level设置: alter system set set wal_level='minimal'; 尝试重启pg,发现重启失败,并报错: waiti ...

  3. 搭建Bitcoin全节点

    节点搭建 1. 进入 bitcoin 选择 Choose your wallet 2. 选择 Bitcoin Core for Linux 下载 bitcoin-0.17.0.1-x86_64-lin ...

  4. centos6.10中部署percona-mysql双实例的方法

    centos6.10中部署percona-mysql双实例的方法 数据库的同步关系:192.168.11.53(master) --> slave(192.168.10.189) --> ...

  5. Vue.js实现tab切换效果

    利用Vue实现简易tab切换效果 1.1 在我们平时浏览网站的时候,经常看到的特效有图片轮播.导航子菜单的隐藏.tab标签的切换等等.这段时间学习了vue后,开始要写出一些简单的特效. 1.2 实现思 ...

  6. sass、less和stylus 相同与不同

    sass.less和stylus的安装使用和入门实践 https://www.jianshu.com/p/1eaf366814e2 stylus 基础教程 https://blog.csdn.net/ ...

  7. LINUX企业应用案例精解 第2版 李晨光

    LINUX企业应用案例精解 第2版 李晨光 下载地址:https://pan.baidu.com/s/1AAKpc-l-qGTSX5h03M01XA 关注微信公众号获取提取码: 输入:lin7 获取提 ...

  8. [LeetCode] 583. Delete Operation for Two Strings 两个字符串的删除操作

    Given two words word1 and word2, find the minimum number of steps required to make word1 and word2 t ...

  9. [05]Go设计模式:建造者模式(Builder Pattern)

    目录 建造者模式 一.简介 二.代码 三:参考资料 建造者模式 一.简介 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象.这种类型的设计模式属于创建型模式, ...

  10. pip修改成国内镜像源

    临时指定镜像源 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple seaborn 永久修改镜像源 linux下,修改 ~/.pip/pip ...