override func viewDidLoad() {super.viewDidLoad()// Do any additional setup after loading the view, typically from a nib.//在视图加载完成的方法中,分别调用4个文件写入方法self.writeText()self.writeArray()self.writeImage()self.writeDictionary()}func writeText() {//首先创建一个方法,用来创建一个文本文件let filePath:String = NSHomeDirectory() + "/Documents/swift.txt"//创建一个字符串对象,表示文档目录下的一个文本文件let info = "如果你说你在下午四点来,从三点钟开始,我就开始感觉很快乐,时间越临近,我就越来越感到快乐。到了四点钟的时候,我就会坐立不安,我发现了幸福的价值,但是如果你随便什么时候来,我就不知道在什么时候准备好迎接你的心情了"do {//创建一个异常捕捉语句用来创建一个新的文件夹try info.write(toFile: filePath, atomically: true, encoding: .utf8)//使用try语句将文本内容写入指定的文件print("Success to create a file.\n")} catch {print("Error to write a file.\n")}}func writeArray() {//创建一个方法,用来将数组对象,存储为一个属性列表文件let fruits = NSArray(objects: "Apple", "Banana", "Orange")//初始化一个数组对象,数组储存在相同类型的数值有序表内//创建一个字符串对象表示文档目录下的一个属性列表文件let fruitePath:String = NSHomeDirectory() + "/Documents/fruitsPath.plist"fruits.write(toFile: fruitePath, atomically: true)//将数组对象存储在指定位置的属性列表文件中print("Success to write an array.\n")}func writeDictionary() {//创建一个方法,用来将字典对象,存储为一个属性列表文件var dictionary : Dictionary<String, String>//创建一个数组对象,该数组对象拥有两个字符串对象dictionary = ["Software":"Xcode", "Language":"Swift"]//创建另一个数组对象,该数组对象也拥有两个字符串对象//使用前面创建的两个数组,初始化一个字典对象。字典对象存储相同类型值的无序集合,可以通过一个唯一标识符(也成为密钥)进行访问和查阅let products = dictionary as NSDictionary//创建一个字符串对象,该字符串对象表示文档目录下的一个属性列表文件let productsPath:String = NSHomeDirectory() + "/Documents/products.plist"products.write(toFile: productsPath, atomically: true)//将字典对象存储在指定位置的属性列表文件中print("Success to create dictionary.\n")}func writeImage() {//创建一个方法用来储存图片文件let imagePath:String = NSHomeDirectory() + "/Documents/Pic.png"//创建一个字符串对象,表示文档目录下的一个图片文件let image = UIImage(named: "Pic1")//在实际工作中,经常需要将来自服务器的图片缓存到本地let imageData:Data = UIImagePNGRepresentation(image!)!//将图片对象进行压缩,并转换成二进制内容try? imageData.write(to: URL(fileURLWithPath: imagePath), options: [.atomic])//将二进制内容存储到指定的文件中print("Success to write an image.\n")}

  

转载于:https://www.cnblogs.com/LisenH/p/7877446.html

Xcode9学习笔记69 - 创建各种类型的文件(文本、数组、字典、图片)相关推荐

  1. ElasticSearch 6.x 学习笔记:12.字段类型

    ElasticSearch 6.x 学习笔记:12.字段类型 欢迎转载. https://blog.csdn.net/chengyuqiang/article/details/79048800 12. ...

  2. JavaScript学习笔记:创建、添加与删除节点

    JavaScript学习笔记:创建.添加与删除节点 文章目录 JavaScript学习笔记:创建.添加与删除节点 一.DOM对象节点类型 二.创建节点 1.创建元素节点 2.创建文本节点 3.创建属性 ...

  3. oracle 创建角色 权限设置,[学习笔记] Oracle创建用户、分配权限、设置角色,

    [学习笔记] Oracle创建用户.分配权限.设置角色, 创建用户 create user student --用户名 identified by "123456" --密码 de ...

  4. Django:学习笔记(2)——创建第一个应用

    Django:学习笔记(2)--创建第一个应用 创建应用 在 Django 中,每一个应用都是一个 Python 包,并且遵循着相同的约定.Django 自带一个工具,可以帮你生成应用的基础目录结构, ...

  5. spring学习笔记02-spring-bean创建的细节问题

    spring学习笔记02-spring-bean创建的细节问题 三种创建Bean对象的方式 Bean的作用范围 Bean的生命周期 <?xml version="1.0" e ...

  6. Python学习笔记:创建分数类

    Python学习笔记:创建分数类 1.编写创建分数类.py # 创建分数类from math import gcd# 定义分数类 class Fraction: def __init__(self, ...

  7. Java学习笔记:创建线程的两种方法

    Java学习笔记:创建线程的两种方法 一.预备工作 1.创建Maven项目ThreadDemo 2.在pom.xml里添加依赖 二.继承Thread类创建子线程

  8. Python 学习笔记(3)对txt文件的读与写操作(下)

    上一章节我们讨论了如何对txt文本文件进行读写操作,这一张将讨论如何进行二进制文件的写与读.<Python 学习笔记(3)对txt文件的读与写操作(上)>的链接如下https://blog ...

  9. VBA学习笔记1:将同个文件夹中的工作簿汇总为一个工作簿,并建立目录超链接

    VBA学习笔记1:将同个文件夹中的工作簿汇总为一个工作簿,并建立目录超链接 1.将文件夹中的xlsx文件名复制到新工作簿: 2.将文件夹中的xlsx数据簿中的sheet复制到新表并重命名: 3.插入超 ...

最新文章

  1. 关于Zigbee的常识
  2. UOJ#244-[UER#7]短路【贪心】
  3. 解决eclipse中tomcat无法识别maven web项目问题
  4. 共享学习:蚂蚁金服数据孤岛解决方案
  5. Vue Cli 项目结构简述
  6. 利用反射判断初始化后的对象所有属性是否为空判断对象指定属性是否为空
  7. java.util.ConcurrentModificationException错误解决方案
  8. linux npm 使用介绍
  9. CMOS图像传感器工作原理
  10. 找回excel工作表保护密码
  11. 堆糖生活家喜欢的图片批量下载
  12. 工作经验这样写,面试就有了!
  13. vue.js 二级路由/三级路由
  14. 跟着团子学SAP SD:项目里程碑开票流程演示(含预收账款“开票”及正式开票) VF01
  15. SAP中使用LSMW批量导入总账科目
  16. route和bridge是什么意思_请问ROUTE 和 BRIDGE 是怎么分别的!
  17. day8——盒子模型-制作音乐盒
  18. Vue与Angular以及React的区别
  19. 应届生找工作到哪里找
  20. awesome图标的使用

热门文章

  1. thymeleaf入门简介
  2. dosbox中的bebug指令
  3. 程序员面试系列——选择排序
  4. 进入保护模式(三)——《x86汇编语言:从实模式到保护模式》读书笔记17
  5. @EnableDiscoveryClient
  6. 浅谈以太坊智能合约的设计模式与升级方法
  7. [以太坊源代码分析] V. 从钱包到客户端
  8. JVM内存区域划分及其管理机制
  9. oracle数据库的性能测试工具有哪些,使用Oracle性能测试工具swingbench测试instance caging...
  10. JZOJ 100035. 【NOIP2017提高A组模拟7.10】区间