IOS学习之获取远程数据NSURL

2024-05-26 12:48

本文主要是介绍IOS学习之获取远程数据NSURL,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数据获取的话 我这边使用的数据格式是JSON格式的数据 (不知道JSON的请自行百度)

在一开始实现的时候我是先写个c# 的webservice服务的,然后发现通过我这个方法调用过来之后返回的数据是

XML格式的..这样的话,为了获得里面的数据我还需要再解析XML一遍.非常的麻烦(苦逼的程序员就是怕麻烦的人物啊...)

然后我这边就分析了下数据获取的实现原理...然后就将服务提供换成了 C# 网页中的 一般处理程序 也就是.ashx文件

至于.ashx文件怎么写  请在本文备注部分查看

http://XXXXX.XXXX.XXX/WebServicesForIOS/IOSWebservices.ashx ? 参数....

这个是我们.ashx的地址

{"Result":"True","Data":{"ID":196,"用户名":"dl","密码":"dl","姓名":"dl","角色":"dl","是否是管理员":"True"}}

 这个是返回的数据

 

接下来就直接开始讲OC部分的实现吧

首先大家需要新建一个类.然后继承至NSObject类 就好了

命名的话我是叫 "GetWebInfo"

完成后XCODE会创建两个文件 分别是GetWebInfo.h与GetWebInfo.m

 

首先打开 .h文件

改成这样

复制代码
#import <Foundation/Foundation.h>#define WEBADDRESS @"http://XXXXX.XXX.XXX/WebServicesForIOS/IOSWebservices.ashx"@interface GetWebInfo : NSObject{NSString *parameters;
}
@property(nonatomic,retain) NSString *parameters;
-(NSString *)dogetWebInfo;
@end
复制代码

我这边定义了一个全局的 定量

WEBADDRESS

  一个string类型的变量

parameters

 一个返回string 的方法

-(NSString *)dogetWebInfo;

接下来我来分别讲下这三个的作用

首先是定量 WEBADDRESS  该定量的作用就是配置地址.这样的话 如果我需要访问不同的地址的时候只要修改一下该文件就可以了.至于为什么要这么做呢?相信大家应该都是有很多测试地址和正式地址的..到时候只要修改一下前面的网页链接就可以轻松搞定测试与正式的切换了

然后是parameters   就是参数了 .这边的参数的话我是用很土的办法 由大家自己拼接string然后传递 

大致的格式就是 Method=方法名&参数1名=参数1&参数2名=参数2 这样的拼接 

这样的话 我调用不同的方法 只需要传递 对应的方法名以及所需要的参数就可以了 然后他就会通过 dogetWebInfo来获取数据了.

然后是-(NSString *)dogetWebInfo;  

其实讲了这么多 核心的就是dogetWebInfo方法了 请直接看.m文件

复制代码
#import "GetWebInfo.h"
@implementation GetWebInfo
@synthesize parameters;
-(NSString *)dogetWebInfo{NSURL *url = [NSURL URLWithString:WEBADDRESS];NSData *queram=[parameters dataUsingEncoding:NSUTF8StringEncoding];NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];[urlRequest setHTTPMethod:@"POST"];[urlRequest setHTTPBody:queram];NSData* result = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:nil error:nil];NSString *string=[[NSString alloc] initWithData:result encoding:NSUTF8StringEncoding];return  string;
}
@end
复制代码

我来细节的解释下获取数据的实现

我们这边需要用的是 NSURL类 首先是定义Nsurl的地址

然后queram 呢就是我们的参数拉

urlRequest 就是返回类了

然后是定义 他是Post传输还是get传输再然后setHTTPBody的作用呢就是 设置参数.

result 呢就是返回的结果 这边返回的结果呢是NSData类型的

所以最后呢 需要讲result转化为string类型..就可以获得我们的数据了.

之后呢我们就可以对获取过来是json格式的数据进行操作了

当然这边他目前还是nsstring 格式的 我们还需要转换成可以使用的格式..但是简单来讲我们已经完成了数据获取的全部内容了

是不是非常简单呢?嘿嘿就是这么简单!

PS:这边返回的数据 呢是 在网页中打开是什么 获取 获取的就是什么.

大家都知道 如果我们直接在网页中访问webservice的时候他是包含xml 的内容的  实际的内容他会放在<string></string>节点当中

也就是这样分析.所以我才改用.ashx的方法

这篇关于IOS学习之获取远程数据NSURL的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java根据IP地址实现归属地获取

《Java根据IP地址实现归属地获取》Ip2region是一个离线IP地址定位库和IP定位数据管理框架,这篇文章主要为大家详细介绍了Java如何使用Ip2region实现根据IP地址获取归属地,感兴趣... 目录一、使用Ip2region离线获取1、Ip2region简介2、导包3、下编程载xdb文件4、J

Java注解之超越Javadoc的元数据利器详解

《Java注解之超越Javadoc的元数据利器详解》本文将深入探讨Java注解的定义、类型、内置注解、自定义注解、保留策略、实际应用场景及最佳实践,无论是初学者还是资深开发者,都能通过本文了解如何利用... 目录什么是注解?注解的类型内置注编程解自定义注解注解的保留策略实际用例最佳实践总结在 Java 编程

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

SpringBoot整合mybatisPlus实现批量插入并获取ID详解

《SpringBoot整合mybatisPlus实现批量插入并获取ID详解》这篇文章主要为大家详细介绍了SpringBoot如何整合mybatisPlus实现批量插入并获取ID,文中的示例代码讲解详细... 目录【1】saveBATch(一万条数据总耗时:2478ms)【2】集合方式foreach(一万条数

python获取网页表格的多种方法汇总

《python获取网页表格的多种方法汇总》我们在网页上看到很多的表格,如果要获取里面的数据或者转化成其他格式,就需要将表格获取下来并进行整理,在Python中,获取网页表格的方法有多种,下面就跟随小编... 目录1. 使用Pandas的read_html2. 使用BeautifulSoup和pandas3.

SpringBoot UserAgentUtils获取用户浏览器的用法

《SpringBootUserAgentUtils获取用户浏览器的用法》UserAgentUtils是于处理用户代理(User-Agent)字符串的工具类,一般用于解析和处理浏览器、操作系统以及设备... 目录介绍效果图依赖封装客户端工具封装IP工具实体类获取设备信息入库介绍UserAgentUtils