在swift 4中使用闭包时,如果没有更多上下文,如何避免表达式类型是不明确的


init(sceneView: ARSCNView,updateMotionData:(_ data: CMAccelerometerData?,_ error:Error?)->()){

。。motionManager!。startAcceleratometerUpdates(to:.main,withHandler:updateMotionData(

得到表达式类型不明确,没有更多上下文

建议?

当我收到这个错误时,我首先开始向每个变量添加类型注释。如果你对足够多的变量这样做,你会得到一个不同的错误,它会给你更多关于你做错了什么的信息。很可能,你是你的一个类型是错误的。

至少,updateMotionData参数中缺少@escaping。我还想从更明确地说明你需要什么开始:

init(sceneView: ARSCNView, updateMotionData: @escaping CMAccelerometerHandler)

最新更新