【发布时间】:2023-03-19 09:33:01
【问题描述】:
我有一个具有完成参数的预定义函数:
func checkNotificationEnabled(_ resultBlock : ((Bool)->())? = nil){
Bool enabled = false
... a big block of code that gets enabled value
...
... end block
resultBlock?(enabled)
}
我需要获取真/假并将其传递给另一个函数:
@objc
func isNotificationEnabled(_
resolve: RCTPromiseResolveBlock, rejecter reject: RCTPromiseRejectBlock
) -> Void {
checkNotificationEnabled { (enabled:Bool) in
resolve(enabled)
}
}
得到错误:转义闭包捕获非转义参数'resolve'
如何将enabled 传递给resolve?
【问题讨论】:
-
为
resolve参数添加@escaping:func isNotificationEnabled(_ resolve: @escaping RCTPromiseResolveBlock, rejecter reject: RCTPromiseRejectBlock) -> Void -
啊,我试图发布一个答案,但已经有评论了 :) 无论如何,我的回答可能会帮助您了解“为什么”会发生这种情况。所以我会保持原样......
标签: swift swift4 resolve completion