gpt4 book ai didi

ios - Swift 错误中的 Objective-C 完成 block

转载 作者:行者123 更新时间:2023-11-28 13:18:43 25 4
gpt4 key购买 nike

我正在尝试从 Objective-C 类中运行一个带有 Swift 类中完成 block 的方法,但我遇到了一些麻烦。

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]!'不是第一行“NSDictionary”的子类型

最佳答案

我假设 version 属性是一个可选的 NSMutableDictionary:

var version: NSMutableDictionary?

如果那是正确的,那么您应该按如下方式修复您的代码:

API.getVersionsFromAPI { (ver: [NSObject: AnyObject]?) in
if let ver = ver {
self.version = NSMutableDictionary(dictionary: ver)
}
}

我已经在 Xcode 6.1.1 中成功编译了这段代码

关于ios - Swift 错误中的 Objective-C 完成 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27568823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com