(十二)-利用ASIHTTPRequest进行异步获取数据

2024-05-31 06:48

本文主要是介绍(十二)-利用ASIHTTPRequest进行异步获取数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


IOS开发---菜鸟学习之路--(十二)-利用ASIHTTPRequest进行异步获取数据

想要实现异步获取的话我这边了解过来有两个非常简单的方式

一个是利用ASIHTTPRequest来实现异步获取数据

另一个则是利用MBProgressHUD来实现异步获取数据

本章就先来讲解如何利用ASIHTTPRequest类来实现异步数据获取

首先大家需要百度一下ASIHTTPRequest 然后看一下百度里搜到的那些文章(不要问具体是那篇,因为我发现百度搜过来的东西全部都是一样的,所以。。。。大致看下 哪篇都一样的就知道我说的是哪篇了,这也是为什么我决定自己写点内容的原因。再次吐槽百度个坑爹的家伙。)

看完了的话就接着看我们的内容吧

需要添加的类库

CFNetwork.framework ,SystemConfiguration.framework, MobileCoreServices.framework,CoreGraphics.framework和libz.1.2.3.dylib

我就直接上代码了我这边使用的是ASIFormDataRequest,使用前需要引用头文件 ASIFormDataRequest.h

我这边在GetWebInfo类里面定义了一个nsstring 类型的mywebaddress属性用来存放地址,这样的话可以便于我们管理地址

复制代码
#pragma mark #pragma 异步加载数据 // 初始化数据 异步加载-( void )initListData{  //  NSURL *url=[NSURL URLWithString:@" http://xxx.xxx.xxx.xxx /WebServicesForIOS/IOSWebservices.ashx?Method=GetNewsbyPage&type=公共新闻&rows=4&page=1"];  GetWebInfo *getwebinfo= [[GetWebInfo alloc] init]; NSURL *url= [NSURL URLWithString:getwebinfo.mywebaddress]; ASIFormDataRequest *request= [ASIFormDataRequest requestWithURL:url]; NSString *mypage=[NSString stringWithFormat: @" %d " ,_page ]; [request addPostValue: @" GetNewsbyPage " forKey: @" Method " ]; [request addPostValue: @" 公共新闻 " forKey: @" type " ]; [request addPostValue: @" 4 " forKey: @" rows " ]; [request addPostValue:mypage forKey: @" page " ]; [request setDelegate:self]; [request startAsynchronous];} // 异步加载成功- ( void)requestFinished:(ASIHTTPRequest * )request{ NSData*responseData =  [request responseData]; NSArray *keys =  [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableContainers error:nil]; allcount=[[keys valueForKey: @" total " ] integerValue]; [self.list addObject:[keys valueForKey: @" rows " ]]; [_tableView reloadData];} // 异步加载失败- ( void)requestFailed:(ASIHTTPRequest * )request{  // NSError *error = [request error]; UIAlertView *alert=[[UIAlertView alloc] initWithTitle: @" 提示信息! " message: @" 加载数据失败!网络连接失败! "  delegate :Nil cancelButtonTitle: @" 确定 " otherButtonTitles: nil]; [alert show];}
复制代码

 

代码就是这么简单,一个是异步获取失败方法,一个是异步获取成功方法。。。。 

然后就没有然后了。。。。就是这么的简单。

OK本章内容非常少,但是。。。却会很使用,然后。。真的就是这么简单。。

下一章会介绍如何利用 MBProgressHUD 进行异步获取数据。。那个。。更加的简单。

这篇关于(十二)-利用ASIHTTPRequest进行异步获取数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1017524

相关文章

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

Python利用PIL进行图片压缩

《Python利用PIL进行图片压缩》有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所以本文为大家介绍了Python中图片压缩的方法,需要的可以参考下... 有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所有可以对文件中的图

如何使用Spring boot的@Transactional进行事务管理

《如何使用Springboot的@Transactional进行事务管理》这篇文章介绍了SpringBoot中使用@Transactional注解进行声明式事务管理的详细信息,包括基本用法、核心配置... 目录一、前置条件二、基本用法1. 在方法上添加注解2. 在类上添加注解三、核心配置参数1. 传播行为(

Java实战之自助进行多张图片合成拼接

《Java实战之自助进行多张图片合成拼接》在当今数字化时代,图像处理技术在各个领域都发挥着至关重要的作用,本文为大家详细介绍了如何使用Java实现多张图片合成拼接,需要的可以了解下... 目录前言一、图片合成需求描述二、图片合成设计与实现1、编程语言2、基础数据准备3、图片合成流程4、图片合成实现三、总结前

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

异步线程traceId如何实现传递

《异步线程traceId如何实现传递》文章介绍了如何在异步请求中传递traceId,通过重写ThreadPoolTaskExecutor的方法和实现TaskDecorator接口来增强线程池,确保异步... 目录前言重写ThreadPoolTaskExecutor中方法线程池增强总结前言在日常问题排查中,