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

时间:2017-07-29 00:02:16

标签: python pass-by-reference pyobjc

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

Can't call methods on objects in pyObjC

然而,这个问题是在2012年发布的,接受的答案似乎不再起作用。我们如何将NSError对象传递给函数并获取返回值?

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

1 个答案:

答案 0 :(得分:1)

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

(*args)

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

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

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