OC学习:NSURL讲解和OC中图片下载

2024-03-12 01:48

本文主要是介绍OC学习:NSURL讲解和OC中图片下载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

/*
         1.HTTP 协议
         2.file协议,本地文本协议
         3.FTP协议,文件传输协议
         4.SSH协议,加密和远程登陆
         5.SMP协议,邮件通信
         6.talent协议,交互式远程登陆回话
         
         
         URL用于标识Internet上的资源位置。
         语法:
         protocol://username@hostname:por/path/filename?quera#fragment
         1.protocol协议可以是上面的协议
         2.username代表服务器用户名,可选参数
         3.hostname代表服务器名称,可以是名称,也可以是‘节点地址’
         4.prot端口,可选参数,如果是http协议,默认是80,FTP协议默认是21
         5.path/filename服务器中文件的路径
         6.query#fragment查询条件,通常用于向服务器提供附加参数。一般只用于http URL,这里的查询条件是向服务器程序提供参数
         7.absoluteString 绝对路径
         
         URL
         1.不能出现中文等一些特殊字符。
         
         */
        NSURL *url1 = [NSURL URLWithString:@"http://iosseventeenclass.sinaapp.com/index.php?name=vincent&age=25"];
        
        //  如果网址出现中文,空格,%等
        NSString  *urlstring = @"http://iosseventeenclass.sinaapp.com/index.php?name=大神&age=25";
        //进行编码,一般情况下都要编码一下较好即使没有出现中文和一些特殊字符,stringByAddingPercentEscapesUsingEncoding:等参数是一个枚举。
        urlstring = [urlstring stringByAddingPercentEscapesUsingEncoding:4];
        //初始化
        NSURL * url2 = [NSURL URLWithString:urlstring];
        
        NSLog(@"1%@",url2.absoluteString);
        NSLog(@"2%@",url2.relativeString);
        NSLog(@"3%@",url2.scheme);
        NSLog(@"4%@",url2.resourceSpecifier);
        NSLog(@"5%@",url2.host);
        NSLog(@"6%@",url2.port);
        NSLog(@"7%@",url2.user);
        NSLog(@"8%@",url2.password);
        NSLog(@"9%@",url2.query);
        NSLog(@"0%@",url2.fragment);
        
        //在此我想要下载一张图片
        //1拿到一个关于图片的网上地址
        NSString *mystring = [NSString stringWithFormat:@"http://img.firefoxchina.cn/2015/08/5/201508031026420.jpg"];
        
        //2编码
        mystring = [mystring stringByAddingPercentEscapesUsingEncoding:4];
        //3初始化出一个URL
        NSURL *myurl = [NSURL URLWithString:mystring];
        //4拿到图片的二进制编码
        NSData *data = [NSData dataWithContentsOfURL:myurl];
        //5将图片下载到路径/Users/yf01-d15/Desktop/(打开终端,将一个本地桌面的任意一个文本文件拉到终端,在终端中就可以看到本地桌面的路径),下载后的文件名是wo.jpg,其中writeToFile方法有返回值bool类型,判断方法是否成功执行,试一试,你会下载到一张你想要的图片。
        BOOL fag = [data writeToFile:@"/Users/yf01-d15/Desktop/wo.jpg" atomically:YES];

这篇关于OC学习:NSURL讲解和OC中图片下载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SQL Server中行转列方法详细讲解

《SQLServer中行转列方法详细讲解》SQL行转列、列转行可以帮助我们更方便地处理数据,生成需要的报表和结果集,:本文主要介绍SQLServer中行转列方法的相关资料,需要的朋友可以参考下... 目录前言一、为什么需要行转列二、行转列的基本概念三、使用PIVOT运算符进行行转列1.创建示例数据表并插入数

C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

《C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解》:本文主要介绍C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面... 目录编程语言性能对比、核心优势与最佳使用场景性能对比表格C++C#RustGoJavapythonjav

VS Code中的Python代码格式化插件示例讲解

《VSCode中的Python代码格式化插件示例讲解》在Java开发过程中,代码的规范性和可读性至关重要,一个团队中如果每个开发者的代码风格各异,会给代码的维护、审查和协作带来极大的困难,这篇文章主... 目录前言如何安装与配置使用建议与技巧如何选择总结前言在 VS Code 中,有几款非常出色的 pyt

Java中实现对象的拷贝案例讲解

《Java中实现对象的拷贝案例讲解》Java对象拷贝分为浅拷贝(复制值及引用地址)和深拷贝(递归复制所有引用对象),常用方法包括Object.clone()、序列化及JSON转换,需处理循环引用问题,... 目录对象的拷贝简介浅拷贝和深拷贝浅拷贝深拷贝深拷贝和循环引用总结对象的拷贝简介对象的拷贝,把一个

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

MySQL连表查询之笛卡尔积查询的详细过程讲解

《MySQL连表查询之笛卡尔积查询的详细过程讲解》在使用MySQL或任何关系型数据库进行多表查询时,如果连接条件设置不当,就可能发生所谓的笛卡尔积现象,:本文主要介绍MySQL连表查询之笛卡尔积查... 目录一、笛卡尔积的数学本质二、mysql中的实现机制1. 显式语法2. 隐式语法3. 执行原理(以Nes

RabbitMQ消费端单线程与多线程案例讲解

《RabbitMQ消费端单线程与多线程案例讲解》文章解析RabbitMQ消费端单线程与多线程处理机制,说明concurrency控制消费者数量,max-concurrency控制最大线程数,prefe... 目录 一、基础概念详细解释:举个例子:✅ 单消费者 + 单线程消费❌ 单消费者 + 多线程消费❌ 多

从入门到进阶讲解Python自动化Playwright实战指南

《从入门到进阶讲解Python自动化Playwright实战指南》Playwright是针对Python语言的纯自动化工具,它可以通过单个API自动执行Chromium,Firefox和WebKit... 目录Playwright 简介核心优势安装步骤观点与案例结合Playwright 核心功能从零开始学习

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、