我有一个Swift函数public func doSomething( aKey : String, completed: @escaping (AModel?, TagError?)->()) {},它需要公开给Objective C代码使用。我已经创建了一个Objective C类包装器,如下所示
@objc
public func doSomethingObjCWrapper(aKey : String) {
anObject.doSomething(aKey: aKey) { (modelA, error) in
if let whtModel = modelA {
// All good
DispatchQueue.main.async {
print("ok")
}
} else {
print("\(error?.localizedDescription ?? "Unknown error")")
}
}
}从Objective C代码中调用。每当代码被触发时,我总是会在anObject.doSomething行中得到EXC_BAD_ACCESS错误。任何线索都将非常感谢。
发布于 2020-04-21 21:04:19
anObject是否符合NSObject协议?
如果不是,您可以尝试这种方式,因为大多数Objective-C类层次结构的根类,子类继承了到运行时系统的基本接口,并且能够作为Objective-C对象
参考https://developer.apple.com/documentation/objectivec/nsobject
https://stackoverflow.com/questions/61180886
复制相似问题