在Xcode 8和Swift 3中未解决的标识符错误
问题描述:
我试图将项目从Swift 2翻译成3,而且我面临着各种各样的问题。在Xcode 8和Swift 3中未解决的标识符错误
首先,我已经使用了XCode 8内置的自动转换代码的迁移工具,但转换后,IDE向我显示了很多错误,例如,当我将变量类型从NSURL更改为URL I得到错误“无法解析的标识符'URL'”,并且其他类型如Date,Bundle,DispatchQueque也是如此。(我已经导入Foundation)
其他类型的错误例如“UIImagePickerControllerSourceType has no member 'camera'“,但检查documentation这似乎是正确的。
在这里有一个代码片段:这里
func createFileUrl() -> URL {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd_HH-mm-ss"
let fileName: String = dateFormatter.string(from: Date()) + (".m4a")
let filePath: String = getCacheDirectory() + ("/\(fileName)")
self.recordedAudioUrl = URL(fileURLWithPath: filePath)
return self.recordedAudioUrl
}
的错误是未解决的标识符:URL,日期,DateFormatter。
另一个大问题是,Xcode突出显示了上一行代码中的错误,并且当我更改代码(例如也只是删除行)时,错误不会消失。
有人有类似的问题吗?我对Swift不熟悉,但似乎我的Xcode工作不正常。
编辑:我发现了一个解决方案,我的代码是自动生成在Eclipse中建模工具,我只是说SWIFT_VERSION = 3.0在构建设置,现在一切顺利
答
如果你有很多的错误,可能您错过了1}大括号,因为我尝试了您的代码,并且Date,URL和DateFormatter没有问题。
尝试运行您的项目,重新打开,清理,甚至重新启动您的Mac。
你确定你已经更新到Swift 3(不是Swift 2.3)吗?尝试清理项目(⇧⌘K) – vadian
关闭Xcode,重新打开。 –
我试图重新打开许多次没有任何改变。我已经更新到swift 3,清理项目说:clean failed –