汇总iOS开发中需要用到的开源库
来源: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开发中需要用到的开源库的更多相关文章
- IOS开发中制作属于自己的静态库.a、资源库.bundle、.framework
一.什么是库 库实际上是一种代码共享的方式,主要用于代码重用和源码隐藏,通常分为动态库和静态库. 静态库:链接时完整的拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链接时不复 ...
- iOS开发中使用静态库 .a 文件
iOS开发中,在使用一些第三方库时,可能是一个静态库(比如GPUImage).这种情况下,需要编译出静态库文件(.a) ,然后配合响应的头文件(.h 文件)使用. 编译静态库,直接在Xcode中编 ...
- iOS开发中常见问题集锦
在iOS开发中,会出现各种各样的问题.今天,就把这些常见的问题以及各位大牛的解决方案汇总下,方便以后查阅: 常见错误: 1. linker command failed with exit code ...
- iOS开发中获取WiFi相关信息
iOS 开发中难免会遇到很多与网络方面的判断,这里做个汇总,大多可能是与WiFi相关的. 1.Ping域名.Ping某IP 有 时候可能会遇到ping 某个域名或者ip通不通,再做下一步操作.这里的p ...
- iOS开发中WiFi相关功能总结
http://www.cocoachina.com/ios/20160715/17022.html 投稿文章,作者:Haley_Wong(简书) 查漏补缺集是自己曾经做过相关的功能,但是重做相关功能或 ...
- 总结iOS开发中的断点续传那些事儿
前言 断点续传概述 断点续传就是从文件赏赐中断的地方重新开始下载或者上传数据,而不是从头文件开始.当下载大文件的时候,如果没有实现断点续传功能,那么每次出现异常或者用户主动的暂停,都会从头下载,这样很 ...
- iOS开发中静态库之".framework静态库"的制作及使用篇
iOS开发中静态库之".framework静态库"的制作及使用篇 .framework静态库支持OC和swift .a静态库如何制作可参照上一篇: iOS开发中静态库之" ...
- iOS开发中静态库制作 之.a静态库制作及使用篇
iOS开发中静态库之".a静态库"的制作及使用篇 一.库的简介 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的类型? 根据源代码的公开情况,库可以分为2种类 ...
- ios开发中的小技巧
在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewal ...
随机推荐
- leetcode 10. Regular Expression Matching 、44. Wildcard Matching
10. Regular Expression Matching https://www.cnblogs.com/grandyang/p/4461713.html class Solution { pu ...
- Linux_CentOS 内存、cpu、进程、端口、硬盘管理
内存.cup 管理 top 命令 top 1.top 命令的第一行: top - :: up :, users, load average: 0.00, 0.02, 0.05 依次对应:系统当前时间 ...
- Node add Test1
root_group->addChild(node22); osg::Vec3f vec3f1 = node22->getBound().center(); osg::NodePathLi ...
- 123456123456#1#---###3%%%----com.zzj.SuperPuperID668---前拼show后广--嘻哈水管工-111111
com.zzj.SuperPuperID668---前拼show后广--嘻哈水管工-1111111111111
- dataTable.NET的search box每輸入一個字母進行一次檢索的問題
當使用dataTable.NET時,可以通到簡單的setting來添加一個search box進行全表格的檢索. $('#test-listing') .on('order.dt', function ...
- [LeetCode] 168. Excel Sheet Column Title 求Excel表列名称
Given a positive integer, return its corresponding column title as appear in an Excel sheet. For exa ...
- [LeetCode] 504. Base 7 基数七
Given an integer, return its base 7 string representation. Example 1: Input: 100 Output: "202&q ...
- [LeetCode] 857. Minimum Cost to Hire K Workers 雇K个工人的最小花费
There are N workers. The i-th worker has a quality[i] and a minimum wage expectation wage[i]. Now w ...
- ucos III中任务之间的数据通信和任务划分
1. 如果将关系密切(比如两个任务之间需要经常收发数据)的若干功能分别用不同的任务来实现,则需要进行大量的任务之间数据通信和同步通信,这系统来说是一个很大的负担.因此应该将关系密切的若干功能组合成一个 ...
- 【视频开发】GPU编解码:GPU硬解码---DXVA
GPU编解码:GPU硬解码---DXVA 一.DXVA介绍 DXVA是微软公司专门定制的视频加速规范,是一种接口规范.DXVA规范制定硬件加速解码可分四级:VLD,控制BitStream;IDCT,反 ...