我试图通过翻译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?
答案 0 :(得分:-1)
关于问题的第一部分,正如评论中所述,您应该使用fullPath.appendingPathComponent(name)
代替。
关于你的第二个问题:
writeToFile
和write(to:
之间的主要区别在于,第一个是String
s,秒是NSData
。
有点相关:
在iOS 2.0+中,你有:
write(to:atomically:)
和
write(toFile:atomically:)
假设:
由于目前只支持file:// URL,因此没有 这个方法和writeToFile:atomically:之间的区别,除了 第一个参数的类型。
根据Swift Changelog,Swift 3中没有任何变化。