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''或'?'的第一個錯誤不同。 –