0

这个问题基本上是另一个问题的反面:Calling Python from Objective-C

我已经在 Objective-C 中实现了我的 iPhone 应用程序逻辑(显然),现在我试图在服务器组件中尽可能多地重用我的 XCode 项目以节省双​​重实现。我已经从 Python 成功加载了 CoreData 数据模型,但是,看不到从 Python 实际调用 Objective-C 逻辑的方法。

基本上,我正在尝试从 Python 访问我的 iPhone 项目中的 Objective-C 类和方法,以免自己重复所有的实现。

这甚至是模糊的可能,还是重复实现是这里唯一的解决方案?似乎 Boost::Python 可能用于这种事情,但我不太确定。

编辑:Boost::Python 不能工作,因为它是基于 C++ 的,我需要 Objective-C。我知道那行不通是有原因的。

4

1 回答 1

1

如果您的 Objective-C 代码在一个框架中,并且您想编写一个使用您的框架的 Python 应用程序,那么您可以使用objc.loadBundle,然后使用objc.lookUpClassNSClassFromString来访问您的类。从那里,您可以像使用任何其他桥接的 Objective-C 类一样使用您的类。

如果您在已经启动了 Objective-C 运行时的进程中运行 Python 代码,并且您的类已经在其中注册,那么您可以跳过 loadBundle 步骤。

于 2010-07-06T05:44:45.580 回答