首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Objective C代码调用时,@escaping完成处理程序出现EXC_BAD_ACCESS错误

从Objective C代码调用时,@escaping完成处理程序出现EXC_BAD_ACCESS错误
EN

Stack Overflow用户
提问于 2020-04-13 10:51:13
回答 1查看 109关注 0票数 2

我有一个Swift函数public func doSomething( aKey : String, completed: @escaping (AModel?, TagError?)->()) {},它需要公开给Objective C代码使用。我已经创建了一个Objective C类包装器,如下所示

代码语言:javascript
复制
@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错误。任何线索都将非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2020-04-21 21:04:19

anObject是否符合NSObject协议?

如果不是,您可以尝试这种方式,因为大多数Objective-C类层次结构的根类,子类继承了到运行时系统的基本接口,并且能够作为Objective-C对象

参考https://developer.apple.com/documentation/objectivec/nsobject

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61180886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档