【发布时间】:2020-07-25 14:22:06
【问题描述】:
我有一个 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 错误。任何线索将不胜感激。
【问题讨论】:
-
可能问题出在
anObject。但是你没有告诉我们那是什么或它来自哪里。我们对doSomethingObjCWrapper的签名或Objective-C 在完成处理程序中交给您的内容一无所知。如果您需要帮助,请提供更多信息。 -
什么是对象?什么anObjet的寿命?你会显示一个Object类型定义的代码吗?
标签: ios objective-c swift