0
我试图从Swift类中的完成块中运行Objective-C类中的方法,但是我遇到了一些麻烦。Swift错误中的Objective-C完成块
的OBJ-C代码:
typedef void(^completionBlock)(NSDictionary *);
+ (void)getVersionsFromAPI:(completionBlock)sendData
{
NSDictionary *dict = [[NSDictionary alloc] init];
// Do stuff
sendData(dict);
}
斯威夫特代码:
API.getVersionsFromAPI { (ver : NSDictionary) -> Void in
self.version = ver.mutableCopy() as NSMutableDictionary;
}
我收到说,在第一行'[NSObject : AnyObject]!' is not a subtype of 'NSDictionary'
错误。
您是否尝试过使用'ver:NSDictionary!'或'ver:NSDictionary?'? – Antonio
是的,然后说'[NSObject:AnyObject]!'与使用'!'时的'NSDictionary''或'?'的第一个错误不同。 –