OC学习总结之异步连接

2024-09-03 21:08
文章标签 学习 总结 连接 异步 oc

本文主要是介绍OC学习总结之异步连接,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

哎, 前几天去了趟韩国, 浪了几天.  一直没机会写博客. 这不回来的第一天上班就是儿童节,祝大家节日快乐哈..不吹牛逼了   直接搞起
1、同步连接和异步连接
同步连接是iOS中网络连接的一种方式,当请求的数据量小时,同步连接是一个很好的选择。UI“冻结”是它的一个缺点。
同步连接步骤:
//新建一个URL
       NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"];
       //创建一个请求
NSURLRequest *req=[NSURLRequest requestWithURL:url];
//发起同步连接
       NSData * data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
//打印字符串信息
       NSString * str = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
       NSLog(@"str = %@",str);
异步连接是iOS最常用的一种网络连接方式。适应传输数据量大,在连接过程中UI不“冻结”。
异步连接步骤:
//初始化一个URL
       NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"];
       //创建一个请求
       NSURLRequest * req = [NSURLRequest requestWithURL:url];
       //发起异步连接
       [NSURLConnection connectionWithRequest:request delegate:self];
       //其他的事情交给代理方法去完成
       NSLog(@"NSURLConnection 完成");
异步请求代理方法
(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response//连接接受响应,表示成功建立连接
(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data//连接接受数据
(void)connectionDidFinishLoadi ng:(NSURLConnection *)connection
//连接完成
2、JSON解析
数据解析是从繁杂的数据中筛选出自己需要的数据。
规则:大括号代表字典,中括号(或小括号)代表数组。冒号左右两边分别为key键和值value。数据与数据之间用逗号分隔。
例如:
[{"name":"kallen","age":"26","sex":"男"},{'"name":"alex","age":"24","sex":"男"}]
数组中存放连个字典,字典里包含3个key值。
例如:
存在jsont.json文件,解析出名字kallon
NSString *path=[[NSBundle mainBundle]pathForResource:@"jsont" ofType:@"json"];//获取文件路径
       NSString *jsonStr=[NSString stringWithContentsOfFile :path encoding:NSUTF8StringEncoding error:nil];//创建字符串根据读取到的文件路径
   NSDictionary   *jsondic=[jsonStr JSONValue];//将字符串转化为字典
               NSArray *jsonArray=[jsondic objectForKey:@"hello"];
   NSDictionary *dic=[jsonArray objectAtIndex:0];//数组里下标为0的字典
         NSString*name=[dic objectForKey:@"name"];//将字典的属性name
     NSLog(@"%@",name);
运行结果
2013-02-18 15:00:51.603 oc第九课文件和网络 课堂练习[1557:c07] kallon
2、GET请求和POST请求
GET将参数直接写在了访问路径上,POST请求将参数放到body里面。它们的区别有以下几点:
a、GET操作简单,所有参数直接写到地址里面就可以了;POST操作相对复杂,需要将参数和地址分开写。
b、GET方式参数容易被外界看到,安全性不高;POST方式安全性比较高,参数放在了body里面,不易被捕获。
c、GET方式地址(含参数)最多长度255字节,多余的部分会被截掉;POST因为参数在body里面,所以即使传再多内容都没问题。

这篇关于OC学习总结之异步连接的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres

Xshell远程连接失败以及解决方案

《Xshell远程连接失败以及解决方案》本文介绍了在Windows11家庭版和CentOS系统中解决Xshell无法连接远程服务器问题的步骤,在Windows11家庭版中,需要通过设置添加SSH功能并... 目录一.问题描述二.原因分析及解决办法2.1添加ssh功能2.2 在Windows中开启ssh服务2

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

Mysql 中的多表连接和连接类型详解

《Mysql中的多表连接和连接类型详解》这篇文章详细介绍了MySQL中的多表连接及其各种类型,包括内连接、左连接、右连接、全外连接、自连接和交叉连接,通过这些连接方式,可以将分散在不同表中的相关数据... 目录什么是多表连接?1. 内连接(INNER JOIN)2. 左连接(LEFT JOIN 或 LEFT

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

Python使用asyncio实现异步操作的示例

《Python使用asyncio实现异步操作的示例》本文主要介绍了Python使用asyncio实现异步操作的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录1. 基础概念2. 实现异步 I/O 的步骤2.1 定义异步函数2.2 使用 await 等待异

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

Spring Boot实现多数据源连接和切换的解决方案

《SpringBoot实现多数据源连接和切换的解决方案》文章介绍了在SpringBoot中实现多数据源连接和切换的几种方案,并详细描述了一个使用AbstractRoutingDataSource的实... 目录前言一、多数据源配置与切换方案二、实现步骤总结前言在 Spring Boot 中实现多数据源连接

C# Task Cancellation使用总结

《C#TaskCancellation使用总结》本文主要介绍了在使用CancellationTokenSource取消任务时的行为,以及如何使用Task的ContinueWith方法来处理任务的延... 目录C# Task Cancellation总结1、调用cancellationTokenSource.