IOS IPhone 开发需要的开源库

来源:互联网 发布:python 日志分析 编辑:程序博客网 时间:2024/05/16 04:49
  • 前言
  • 1:IOS &IPhone 网络异步加载 asi-http-request
  • 【1-1 ASI HTTP 下载地址】
  • 【1-2 注意事项】
  • 【1-3 小试牛刀】
  •     
  • 2:解析JSON数据 SBJSON
  • 【 2-1 SBJSON 下载地址】
  • 【2-2 注意事项】
  • 【2-3 小试牛刀】
  • 3:加载网络数据的时候 显示onLoading动画图片 MBProgressHUD
  • 【3-1 MBProgressHUD 下载地址】
  • 【3-2 注意事项】
  • 【3-3 小试牛刀】
  • 4:IOS &IPhone 异步图片加载 EGOImageLoadding
  • 【EGOImageLoadding 下载地址】
  •  【小试牛刀】
  • 5:上拉刷新,下拉翻页
  • 【5-1 EGOTableViewPullRefresh 下载地址】
  • 6:左边菜单导航
  • 前言

    我是 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\Reachability 文件夹下所有文件添加到你的工程中。
    • 在 Build Phases中添加相应的Link Binary With Libraries
      1.MobileCoreServices.framework
      2.SystemConfiguration.framework
      3.CFNetwork.framework
      4.Libz.dylib

    • 由于ARC Restrictions导致的祖国山河一片红

    • 选中相关文件 回车后输入命令:-fno-objc-arc

    【1-3 小试牛刀】

    引入头文件 #import "ASIHTTPRequest.h"

    更详细的使用方法请参照:http://www.cnblogs.com/zhwl/archive/2012/07/14/2591752.html

    01- (void)viewDidLoad {
    02    [super viewDidLoad];
    03    //请求的后台活动列表
    04    NSURL *url = [NSURL URLWithString:@"http://m.weather.com.cn/data/101180701.html"];
    05    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
    06    [request setDelegate:self];
    07    [request startAsynchronous];
    08 
    09}
    10 
    11//异步请求开始
    12- (void)requestStarted:(ASIHTTPRequest *)request {
    13    NSLog(@"request start :%@", @"start");
    14}
    15//异步请求结束
    16- (void)requestFinished:(ASIHTTPRequest *)request {
    17   // Use when fetching text data
    18   NSString *jsonString = [request responseString];
    19   NSLog (@"Response JSON :%@", jsonString);
    20}
    21//异步请求错误
    22- (void)requestFailed:(ASIHTTPRequest *)request {
    23    // NSError *error = [request error];
    24    NSLog (@"Response JSON :%@", @"error");
    25}

        

    2:解析JSON数据 SBJSON

    【 2-1 SBJSON 下载地址】

    https://github.com/stig/json-framework

    【2-2 注意事项】

    解压后把相应的文件导入到工程中,尚未发现问题

    【2-3 小试牛刀】

    在1-3的小试牛刀中,我们请求了有关天气的URL,这个URL会有一个JSON的相应,我们继续1-3,来解解析这个响应的JSON

    01- (void)viewDidLoad {
    02    [super viewDidLoad];
    03    //请求的后台活动列表
    04    //NSURL *url = [NSURL URLWithString:@"http://192.168.1.4/beer/?cat=2&json=1"];
    05     
    06    NSURL *url = [NSURL URLWithString:@"http://m.weather.com.cn/data/101180701.html"];
    07    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
    08    [request setDelegate:self];
    09    [request startAsynchronous];
    10 
    11}
    12 
    13//异步请求开始
    14- (void)requestStarted:(ASIHTTPRequest *)request {
    15    NSLog(@"request start :%@", @"start");
    16}
    17//异步请求结束
    18- (void)requestFinished:(ASIHTTPRequest *)request {
    19    NSString *jsonString = [request responseString];
    20    NSLog (@"Response JSON :%@", jsonString);
    21    SBJsonParser *parser =[[SBJsonParser alloc] init];
    22    NSDictionary *rootDic = [parser objectWithString:jsonString];
    23    NSDictionary *weatherInfo = [rootDic objectForKey:@"weatherinfo"];
    24    NSLog (@"Response JSON city :%@", [weatherInfo objectForKey:@"city"]);
    25}
    26//异步请求错误
    27- (void)requestFailed:(ASIHTTPRequest *)request {
    28    // NSError *error = [request error];
    29    NSLog (@"Response JSON :%@", @"error");
    30}

    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中我们异步读取天气信息,所以我们需要在请求前显示加载动画,在请求结束,或网络出现问题时 我们需要关闭动画

    01- (void)viewDidLoad {
    02    [super viewDidLoad];
    03    //请求的后台活动列表
    04     
    05    NSURL *url = [NSURL URLWithString:@"http://m.weather.com.cn/data/101180701.html"];
    06    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
    07    [request setDelegate:self];
    08    [request startAsynchronous];
    09 
    10}
    11 
    12//异步请求开始
    13- (void)requestStarted:(ASIHTTPRequest *)request {
    14    NSLog(@"request start :%@", @"start");
    15    [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    16}
    17//异步请求结束
    18- (void)requestFinished:(ASIHTTPRequest *)request {
    19    [MBProgressHUD hideHUDForView:self.view animated:YES];
    20    NSString *jsonString = [request responseString];
    21    NSLog (@"Response JSON :%@", jsonString);
    22    SBJsonParser *parser =[[SBJsonParser alloc] init];
    23    NSDictionary *rootDic = [parser objectWithString:jsonString];
    24    NSDictionary *weatherInfo = [rootDic objectForKey:@"weatherinfo"];
    25    NSLog (@"Response JSON city :%@", [weatherInfo objectForKey:@"city"]);
    26}
    27//异步请求错误
    28- (void)requestFailed:(ASIHTTPRequest *)request {
    29    // NSError *error = [request error];
    30    NSLog (@"Response JSON :%@", @"error");
    31    [MBProgressHUD hideHUDForView:self.view animated:YES];
    32}

    4:IOS &IPhone 异步图片加载 EGOImageLoadding

    【EGOImageLoadding 下载地址】

      https://github.com/enormego/EGOImageLoading

     【小试牛刀】

    5:上拉刷新,下拉翻页

    【5-1 EGOTableViewPullRefresh 下载地址】

    https://github.com/enormego/EGOTableViewPullRefresh

    【5-2 注意事项】

    需要在Link Binary with Libraries中加QuartzCore.framework Foundation.framework CoreGraphics.framework 以及 [1-2 中的注意事项]

    6:左边菜单导航

        ECSlidingViewController-master :https://github.com/edgecase/ECSlidingViewController


    文章转自http://my.oschina.net/superclass/blog/135195

    0 0
    原创粉丝点击