无法将类型'(_)->()'的值转换为预期参数类型'(()->())?

时间:2019-04-27 12:13:11

标签: swift

我已经将iOS Swift 3应用程序迁移到了Swift 4。 我得到了:

  

无法将类型'(_)->()'的值转换为预期的参数类型'(()->())吗?'

尝试调用此方法时出错:

async function saveUsers () {
  users.forEach(user => { // maybe there's other way to do save, but I don't found it.
    User.updateOne(user, user, function (err) {
      if (err) throw err
    })
  })
}

这里是self.aPIManager.registerDeviceId(deviceTokenStr,onSuccess:{ getRegister in }, onError: { message in AppUtility.hideLoading(self.window!) }) 的声明:

aPIManager.registerDeviceId

在转移到Swift 4之前,这是Swift 3中的相同功能:

open  func registerDeviceId(_ deviceId: String, onSuccess successBlock: (() -> ())!, onError errorBlock: ((String?) -> Void)!) {
    ...
}

这里是电话:

open  func registerDeviceId(_ deviceId: String, onSuccess successBlock: 

(() -> Void)!, onError errorBlock: ((String?) -> Void)!) {
   ...        
}

我是新手。如果您向我提供有关这种类型的函数声明(函数声明中没有名称的函数)的信息,我将不胜感激。

0 个答案:

没有答案