来源: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. ubuntu16.04 安装使用meld及问题

    本文链接:https://blog.csdn.net/ai_liuliu/article/details/95504095安装meldsudo apt-get install meld启动meld方法 ...

  2. null undefined NaN

    数据类型 6大基本 Number  String Boolean Undefined Null.  Symbol (ES6)   3大引用类型 object array Function Regexp ...

  3. Mac 上ssh远程连接Linux服务器提示Host key verification failed.

    当我们对重装远程服务器的时候会出现Host key verification failed问题 解决办法: rm -rf ~/.ssh/known_hosts 重新ssh连接,OK!

  4. [LeetCode] 628. Maximum Product of Three Numbers 三个数字的最大乘积

    Given an integer array, find three numbers whose product is maximum and output the maximum product. ...

  5. laravel相关知识点

    参考地址:http://note.youdao.com/noteshare?id=9899f8328427de449390230c35489934

  6. nginx做正向代理https遇到SSL_do_handshake()握手失败

    SSL_do_handshake() failed (SSL: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number) wh ...

  7. python基础(二)-- 列表、字典、集合、字符串操作

    4.列表: 基本操作: 索引 切片 追加 删除 长度 切片 循环 包含 import copy i=0 #persons=['dailaoban','xiekeng',['age',100,50],' ...

  8. [转帖]B树索引、位图索引和散列索引

    B树索引.位图索引和散列索引   https://blog.csdn.net/huashanlunjian/article/details/84460436 索引在数据结构上可以分为三种B树索引.位图 ...

  9. Kafka Broker | 命令行选项和过程

    1.目标 在这个Apache Kafka教程中,我们将学习Kafka Broker.Kafka Broker管理主题中的消息存储.如果Apache Kafka有多个代理,那就是我们所说的Kafka集群 ...

  10. 《Redis 分布式锁》

    一:什么是分布式锁. -  通俗来说的话,就是在分布式架构的redis中,使用锁. 二:分布式锁的使用选择. - 当 Redis 的使用场景不多,而且也只是单个在用的时候,可以构建自己使用的 锁. - ...