美文网首页swiftOptional Swift编程珠玑iOS学习开发
[Swift2.0系列]Error Handling(项目应用篇

[Swift2.0系列]Error Handling(项目应用篇

作者: NinthDay | 来源:发表于2015-09-19 00:19 被阅读471次

    1.FileManager中的应用

    倘若你只是想看FileManager中的 Error Handling是如何实现的,请找到3.删除文件以及4.获取文件信息。我分别为你提供了do-catch以及try?的使用方法。

    打开Xcode,选中Single View Application,输入项目名称例如FileManagerDemo,点击Next,选择文件放置路径。此时你已经建立了一个新的工程。

    选中ViewController.swift文件,找到viewDidload()文件,写入如下的代码。

    override func viewDidLoad() {
            super.viewDidLoad()
            
            // 1.获取路径操作代码
    
            // 沙盒下有三个目录 分别是Documents/Library/tmp 通常我们将文件放到Documents下
            // 获取document的文件夹路径
            var path = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
            let pathDocuments = path[0]
            print(pathDocuments)
    
            // 2. 创建文件操作
            let file1 = "file1.txt"
            let file2 = "file2.txt"
            let file1Path: String = NSString(format: "%@/%@", pathDocuments,file1) as String//生成一个绝对路径
            let file2Path: String = NSString(format: "%@/%@", pathDocuments,file2) as String//生成一个绝对路径
            // 进行file1文件生成操作
            if NSFileManager.defaultManager().fileExistsAtPath(file1Path as String){
                print("文件已存在")
            }else{
                let data = "Hello world By Swift2.0 file1".dataUsingEncoding(NSUTF8StringEncoding)
                NSFileManager.defaultManager().createFileAtPath(file1Path, contents: data, attributes: nil)//创建新文件 //当然也有直接向已存在文件中写入内容的方法
            }
            // 进行file2文件生成操作
            if NSFileManager.defaultManager().fileExistsAtPath(file2Path as String){
                print("文件已存在")
            }else{
                let data = "Hello world By Swift2.0 file2".dataUsingEncoding(NSUTF8StringEncoding)
                NSFileManager.defaultManager().createFileAtPath(file2Path, contents: data, attributes: nil)//创建新文件 //当然也有直接向已存在文件中写入内容的方法
            }
            
            // 3.删除文件 将原先的创建的删除
            let deletePath = NSString(format: "%@/%@", pathDocuments,file1) as String
            print("要删除的文件路径:\(deletePath)")
            do{
                try NSFileManager.defaultManager().removeItemAtPath(deletePath)
            }catch let error as NSError{
                print("error is \(error)")
            }
            
            // 以下内容只做拓展
            /*
                var arrayContent = NSArray(contentsOfFile: filePath)//必须是完整路径
                var dictContent = NSDictionary(contentsOfFile: filePath)
                var imgContent = UIImage(contentsOfFile: filePath)
            */
            
            // 4.获取文件信息
            // 文件属性 是一个字典类型
            let attrFile1 = try? NSFileManager.defaultManager().attributesOfItemAtPath(file1Path)
            let attrFile2 = try? NSFileManager.defaultManager().attributesOfItemAtPath(file2Path)
            print(attrFile1)//打印nil 因为file1不存在
            print(attrFile2)//打印出信息
            
        }
    

    内容持续补充中

    相关文章

      网友评论

      • 3d8d2377fca7:内容持续补充中。。。
        NinthDay:@请叫我汪二 ....事情太多 更新慢了 见谅
      • zyg:Swift2.0中的错误机制 ? 这标题有点大把

      本文标题:[Swift2.0系列]Error Handling(项目应用篇

      本文链接:https://www.haomeiwen.com/subject/eswbcttx.html