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

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")
    }

  

posted on 2017-11-22 07:55  业余极客  阅读(275)  评论(0编辑  收藏  举报

导航