通过引用使用 pyobjc 传递 NSError 对象



以下问题描述了python函数调用Objective-C函数的情况,该函数需要通过引用传递的变量:

无法在 pyObjC 中的对象上调用方法

但是,该问题于2012年发布,接受的答案似乎不再有效。 我们如何将 NSError 对象传递给函数并获取返回值?

我的函数调用是我无法编辑的框架的一部分,所以我的任务是找到一种方法来使其工作。

看来我试图错误地访问我的自定义框架。 最初,我通过加载 CustomFrameworkBundle 来访问框架:

CustomFrameworkBundle = objc.loadBundle("Custom", globals(), bundle_path=objc.pathForFramework(u'Custom.framework'))

虽然自定义框架中的函数是可访问的,但需要通过引用传递参数的函数将无法正确处理,并且预期的返回元组将表示为原始函数返回。

import objc as _objc
__bundle__ = _objc.initFrameworkWrapper("Custom",
frameworkIdentifier="com.c1pher.Custom",
frameworkPath=_objc.pathForFramework("/Library/Frameworks/Custom.framework"),
globals=globals())

在第二个示例中,桥接按预期运行,并且可访问更新的引用传递参数。

最新更新