汇总iOS开发中需要用到的开源库
发布日期:2021-10-02 15:44:26 浏览次数:1 分类:技术文章

本文共 4751 字,大约阅读时间需要 15 分钟。

我是 java & php 程序员,遇到了坑爹的iPhone,被逼无奈在崩溃的边缘下学习Object-C ,在学习中遇到了很多 奇葩,无知,龌蹉,呕吐的问题(弱弱的说 : 有的些问题到现在还不知道具体的原理)故此把开发中所有遇到的问题,和需要使用的开源库 一一记载下来,为那些苦B的要学习Object-C的屌丝们加点料吧。本文纯粹记录性游记类文章,学术性观摩团请绕行,专家请绕行。在编写过程中避免不了 出现问题或者遗漏问题,希望大家多多指点与板砖!

1、iOS &iPhone 网络异步加载 asi-http-request

【1-1 ASI HTTP 下载地址】

  

【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"

更详细的使用方法请参照:

- (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 下载地址】

【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 下载地址】

【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 下载地址】

 【小试牛刀】

5、上拉刷新,下拉翻页

【5-1  下载地址】

【5-2 注意事项】

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

6、左边菜单导航 ECSpdingViewController-master :

【编辑推荐】

转载地址:https://blog.csdn.net/jinyeweiyang/article/details/41345005 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:IOS: 正确使用PresentModalViewController
下一篇:IOS开发---菜鸟学习之路--(十五)-如何实现拍照功能

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年03月18日 13时20分19秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

16F877A和24C02通信汇编语言,PIC16f877A读写24c02程序 2019-04-21
用c语言编写小于n的所有素数,关于求N以内素数的一点小问题(N小于一亿) 2019-04-21
华为100万部鸿蒙,2019年Q4发布 华为100万部鸿蒙OS手机已开测 2019-04-21
android+大富翁+局域网,【图片】大富翁6局域网(LAN)多人联机教程(求精)_大富翁吧_百度贴吧... 2019-04-21
rn webview加载本地静态html,React Native - Webview 加载本地文件 2019-04-21
vscode 不能使用中文输入法_vscode中vim插件设置 2019-04-21
fi sap 凭证冲销 稅_SAP中的成本要素 2019-04-21
kangle主机怎么配置MySQL_kangle web服务+easypanel主机控制面板快速搭建网站和数据库以及管理空间详细教程... 2019-04-21
mysql 翻页 存储过程_MySQl通用翻页(存储过程) 2019-04-21
2020word替换所有文本_Excel字符函数(5):REPLACE、SUBSTITUTE查找替换函数之区别... 2019-04-21
win10安装ipython_win10环境 ipython app.py 8080 这里为什么是ipython 这步无法启动 2019-04-21
mysql多字段存储过程_mysql 的存储过程_多字段 2019-04-21
python怎么创建字符串列表_如何在python列表中为每个字符串创建子列表? 2019-04-21
vba ado 执行多条mysql 语句_access 按钮 多条sql语句 VBA 2019-04-21
弹性方法计算连续梁板内力_(梁板结构)混凝土结构设计复习题及答案 2019-04-21
java root权限_android java获得root权限调用linux命令 | 学步园 2019-04-21
java最小化窗体_JAVA窗体最大化最小化控制+托盘 2019-04-21
java 注解 数组默认值_Java注解默认值 2019-04-21
java流程语句_Java流程控制语句 2019-04-21
java require_java正则中的requireEnd和hitEnd 2019-04-21