【发布时间】:2017-03-23 17:35:20
【问题描述】:
我正在开发一个 iOS 应用程序,我刚刚切换到 Swift 3.0,所以现在我的代码中有很多错误,我不知道如何修复其中的一些。
1) 此 sn-p 的第二行出现错误“参数标签 '(fileURLwithPathComponents:)' 不匹配任何可用的重载”:
let pathArray = [dirPath, recordingName]
let filePath = URL(fileURLwithPathComponents: pathArray)
2) 错误“无法转换 '(CMAccelerometerData?,NSError?)->() 类型的值 到预期的参数类型 'CMAccelermeterHandler' (aka ('Optional, Optional)->()')"
motionManager.startAccelerometerUpdates(to: OperationQueue.main) {
[weak self] (data: CMAccelerometerData?, error: NSError?) in self!.label.text = "started tracking"
【问题讨论】:
-
迁移到 Swift 3 后,一些语法发生了变化。您可以在 Apple 的文档中找到正确的语法。
-
感谢@Larme,这对#1 非常有效 --> let filePath = NSURL.fileURL(withPathComponents: pathArray)
-
我鼓励您自己尝试找到第二个错误的新语法。作为开发人员,您将多次访问文档。
-
感谢@Koen!我经历了很多,只有这些是我不太了解的两个。但我也刚刚找到了第二个的解决方案——应该只是 Error 而不是 NSError