我有一个Objective-C函数,如下所示:
将一个带参数的块转换为Objective-C函数
- (void) fetchChannelListForWatch:(void (^)(NSDictionary *))callback
我希望像这样传递Swift回调闭包:
fetchChannelListForWatch(replyHandler)
其中replyHandler是一个闭包,类型为
replyHandler: ([String : AnyObject]) -> Void)
当我遇到以下错误:
Cannot invoke 'fetchChannelListForWatch' with an argument list of type '(([String : AnyObject]) -> Void)'
replyHandler是来自于WatchConnectivity代理的。
func session(session: WCSession, didReceiveMessage message: [String : AnyObject], replyHandler: ([String : AnyObject]) -> Void)
所以我无法更改replyHandler的类型。
我该如何传递带参数的swift闭包?
replyHandler: [String: AnyObject] -> ()
将一个带参数的块转换为Objective-C函数
- (void) fetchChannelListForWatch:(void (^)(NSDictionary *))callback
非常感谢您的帮助!