swift - 无法将类型“(_) -> ()”的值转换为预期的参数类型“(() -> ())?”
问题描述
我已将我的 iOS Swift 3 应用程序迁移到 Swift 4。我得到了:
无法将类型“(_) -> ()”的值转换为预期的参数类型“(() -> ())?”
尝试调用此方法时出错:
self.aPIManager.registerDeviceId(deviceTokenStr,onSuccess:{
getRegister in
},
onError: { message in
AppUtility.hideLoading(self.window!)
})
这是声明aPIManager.registerDeviceId
:
open func registerDeviceId(_ deviceId: String, onSuccess successBlock: (() -> ())!, onError errorBlock: ((String?) -> Void)!) {
...
}
在迁移到 Swift 4 之前,以下是 Swift 3 中的相同功能:
open func registerDeviceId(_ deviceId: String, onSuccess successBlock:
(() -> Void)!, onError errorBlock: ((String?) -> Void)!) {
...
}
这是电话:
self.aPIManager.registerDeviceId(deviceTokenStr,onSuccess:{
getRegister in
},
onError: { message in
AppUtility.hideLoading(self.window!)
})
我是新来的。如果您向我提供有关此类函数声明(声明中没有名称的函数)的一些信息,我将不胜感激。
解决方案
推荐阅读
- openssl - Nextcloud 客户端构建需要 P12_KEY_PASSWORD
- javascript - 如何在不使用 Larastan 的情况下在 Laravel8 中运行 PHPSTAN?
- html - reactjs - 如何将html元素从子元素传递给父元素?
- javascript - 打字稿:“访问类实例属性时,此条件将始终返回'false'”
- django - 如何将外键字段呈现给 Django 表单,就像它在管理面板上显示的那样(内联字段)?
- javascript - 将插入符号放置到 contenteditable div 的下一个孩子
- node.js - 使用LinkedIn API节点js上传图片
- flutter - 在 SingleChildScrollView 中使用展开的网页浏览
- salesforce - 用于拨打外线电话的 Salsforce 和 Plivo 集成
- javascript - 如何延迟页面渲染,直到从 api 接收到数据