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

标签 python pass-by-reference pyobjc

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

Can't call methods on objects in 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())

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

关于python - 使用 Pyobjc 通过引用传递 NSError 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45383923/

相关文章:

python - `from QTKit import *` 在 PyObjC 应用程序中导致 'FAILED TO establish the default connection to the WindowServer'

python - 在 PyObjC 中,如何在使用 runModalForWindow_ 后让工作表结束?

python - 关闭 Seaborn 条形图中的错误条

python - 将生成的 UUID 插入表中 - 无法适应类型 UUID

objective-c - 我必须使用哪个 Objective-C 框架来录制屏幕?

c - 如何在函数中传递指向数组的指针,修改它并正确返回?

C#:如果传递对象变量,对方法参数使用 ref/out 有什么不同吗?

python - OpenCV使用python识别图像

python - 在迭代过程中与字符串中的列表/元组不同

c++ - 返回作为 const 引用的参数的问题