StringByAppendingPathComponent()和WriteToFile()

时间:2016-07-06 18:31:40

标签: ios swift swift3

我试图通过翻译Swift 2中的代码来学习Swift 3.在swift 2中,我看到代码是这样的:

return fullPath.stringByAppendingPathComponent(name)

但是,当我尝试Swift 3时,我有类似的代码,但是像这样:

return fullPath.strings(byAppendingPaths: [name])

问题是,第一个代码中的返回类型是String(并且我从我学到的课程中得到了输出),但第二个代码中的返回类型应该是[String]。

另一个问题是,在Swift 2中,代码应该是:

imgData?.WriteToFile(fullPath, atomicaly:Bool)

但是在Swift 3中,我只能输入这样的代码:

imgData.Write(to: URL , option: WritingOption) throws

但在某些例子中,还有.Write(toFile :, atomically :)但我无法在Xcode中找到它。

我是否错误地翻译或错误地使用Swift 2和Swift 3?

1 个答案:

答案 0 :(得分:-1)

关于问题的第一部分,正如评论中所述,您应该使用fullPath.appendingPathComponent(name)代替。

关于你的第二个问题:

writeToFilewrite(to:之间的主要区别在于,第一个是String s,秒是NSData

有点相关:

根据NSData Class Reference

在iOS 2.0+中,你有:

write(to:atomically:)

write(toFile:atomically:)

假设:

  

由于目前只支持file:// URL,因此没有   这个方法和writeToFile:atomically:之间的区别,除了   第一个参数的类型。

根据Swift Changelog,Swift 3中没有任何变化。