多次调用stringByAppendingPathComponent()会覆盖旧文件吗?

时间:2015-04-12 09:25:20

标签: ios objective-c swift

我创建了一个名为dataFilePath()的函数。此方法在Documents目录中创建文件data.plist并返回其路径。我想知道..如果data.plist已经存在于Documents目录中(例如我第二次调用了这个函数)这个方法是删除旧的data.plist并创建一个新的,或者它只是返回一个路径以前创建的data.plist文件?

func dataFilePath() -> String{
        let path = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
        let documentsDirectory = path[0] as NSString
        return documentsDirectory.stringByAppendingPathComponent("data.plist")
    }

1 个答案:

答案 0 :(得分:3)

stringByAppendingPathComponent()只需构建一个字符串。它不是 对文件系统进行任何访问,特别是不验证具有该名称的文件是否存在,或者创建具有该名称的文件。

要检查具有给定路径的文件是否存在,请使用NSFileManager() 方法,例如fileExistsAtPath()