本文将演示如何创建各种类型的文件.
在项目导航区, 打开视图控制器的代码文件[ViewController.swift]
- import UIKit
- class ViewController: UIViewController {
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do any additional setup after loading the view, typically from a nib.
- // 调用方法, 用来创建文本文件
- self.writeText()
- // 调用个方法, 用来将数组对象, 存储为一个属性列表文件
- self.writeArray()
- // 调用个方法, 用来将字典对象, 存储为一个属性列表文件
- self.writeDictionary()
- // 调用个方法, 用来存储图片文件
- self.writeImage()
- }
- // 创建一个方法, 用来创建文本文件
- func writeText()
- {
- // 创建一个字符串对象, 该字符串对象表示文档目录下的一个文本文件
- let filePath:String = NSHomeDirectory() + "/Documents/swift.txt"
- // 再创建一个字符串对象, 用来存储将要写入到文本的内容
- let info = "i'm the author ,my name is Strengthten"
- // 首先创建一个异常捕捉语句, 用来创建一个新的文件夹
- do
- {
- // 使用 try 语句, 将文字内容, 写入到指定位置的文本文件,
- // 并使用指定的编码方式
- try info.write(toFile: filePath, atomically: true, encoding: .utf8)
- // 在控制台打印输出日志, 提示文本文件创建成功
- print("Success to write a file.\n")
- }
- catch
- {
- // 在控制台打印输出日志, 提示文本文件创建失败
- print("Error to write a file.\n")
- }
- }
- // 创建一个方法, 用来将数组对象, 存储为一个属性列表文件
- func writeArray()
- {
- // 初始化一个数组对象, 该数组拥有三个字符串对象.
- // 数组存储在相同类型的数值有序表内
- let fruits = NSArray(objects: "Apple", "Banana", "Orange")
- // 创建一个字符串对象,
- // 该字符串对象表示文档目录下的一个属性列表文件
- let fruitsPath:String = NSHomeDirectory() + "/Documents/fruitsPath.plist"
- // 将数组对象, 存储在指定位置的属性列表文件中
- fruits.write(toFile: fruitsPath, atomically: true)
- // 在控制台打印输出日志, 提示属性列表文件创建成功
- print("Success to write an array.\n")
- }
- // 创建一个方法, 用来将字典对象, 存储为一个属性列表文件
- func writeDictionary()
- {
- // 创建一个字典对象, 字典对象拥有字符串类型的键和值.
- // 字典对象存储相同类型值的无序集合.
- // 可以通过一个唯一标识符 (也成为密钥) 进行访问和查阅
- var dictionary : Dictionary<String, String>
- // 给字典对象添加两个键值对
- dictionary = ["Software":"Xcode","Language":"Swift"]
- // 将 Swift 语音中的字典对象, 转换为旧类型的字典对象
- let products = dictionary as NSDictionary
- // 创建一个字符串对象, 该字符串对象表示文档目录下的一个属性列表文件
- let productsPath:String = NSHomeDirectory() + "/Documents/products.plist"
- // 将字典对象, 存储在指定位置的属性列表文件中
- products.write(toFile: productsPath, atomically: true)
- // 在控制台打印输出日志, 提示属性列表文件创建成功
- print("Success to write a dictionary.\n")
- }
- // 创建一个方法, 用来存储图片文件
- func writeImage()
- {
- // 创建一个字符串对象,
- // 该字符串对象表示文档目录下的一个图片文件
- let imagePath:String = NSHomeDirectory() + "/Documents/Pic.png"
- // 在实际工作中, 经常需要将来自服务器的图片, 缓存到本地.
- // 这里选择加载一张资源文件夹中的图片. 作为示例图片
- let image = UIImage(named: "Pic1")
- // 将图片内容进行压缩, 并转换为二进制内容
- let imageData:Data = image!.pngData()!
- // 然后将二进制内容, 存储到指定位置的文件中
- try? imageData.write(to: URL(fileURLWithPath: imagePath), options: [.atomic])
- // 在控制台打印输出日志, 提示图片文件创建成功
- print("Success to write an image.\n")
- }
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
- }
[Xcode10 实际操作]七, 文件与数据 -(3)创建文本文件, 属性列表文件, 图片文件
来源: http://www.bubuko.com/infodetail-2867874.html