我试图通过翻译Swift 2中的代码来学习Swift 3。在swift 2中,我看到了这样的代码:
return fullPath.stringByAppendingPathComponent(name)但是,当我尝试使用Swift 3时,我得到了类似的代码,但如下所示:
return fullPath.strings(byAppendingPaths: [name])问题是,第1段代码中的返回类型是String (这是我学到的教训所需要的输出),但是第2段代码中的返回类型应该是String。
另一个问题是,在Swift 2中,代码应该是:
imgData?.WriteToFile(fullPath, atomicaly:Bool)但是在Swift 3中,我只能输入如下代码:
imgData.Write(to: URL , option: WritingOption) throws但是在一些例子中,有.Write(toFile:,原子化:),但是我在Xcode中找不到它。
我是翻译错了,还是同时使用了Swift 2和Swift 3?
发布于 2016-07-06 20:14:45
关于你问题的第一部分,,,正如dan在评论中所说的,你应该使用fullPath.appendingPathComponent(name)。
关于你的第二个问题:
writeToFile和write(to:的主要区别在于,第一个是Strings,秒是NSData。
有点关联:
在iOS 2.0+中有:
write(to:atomically:)和
write(toFile:atomically:)给予:
由于目前只支持文件://URL,所以除了第一个参数的类型之外,这个方法与writeToFile:原子:之间没有区别。
根据Swift Changelog的说法,这一切在Swift 3中都没有改变。
https://stackoverflow.com/questions/38231281
复制相似问题