我有一个Objective-C类,它包含带有块参数的方法:
+ (void)getCurrentUserInfoWithToken:(NSString*)token completionHandler:(void (^)(NSDictionary* userData))handler
如您所见,该块具有NSDictionary参数。但是当我尝试在swift中强制转换此方法时,它会出错:“'[NSObject:AnyObject]'与'NSDictionary'不同。”这是我的Swift代码:
ClockfaceAPI.getCurrentUserInfoWithToken(token, completionHandler: {
(userData : NSDictionary!) in
// block implementation goes here
})
我不知道如何解决它= /
答案 0 :(得分:1)
这是有道理的,因为你的NSDictionary *被解释为[NSObject:AnyObject]
您不必指定类型。例如。只说不userData
的{{1}}就行了。 Swift会根据声明自动推断出类型。
: NSDictionary!