这个问题基本上与另一个问题相反: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。我知道有一个原因可以解决这个问题。
答案 0 :(得分:1)
如果你的Objective-C代码在一个框架中并且你想基本上编写一个使用你的框架的Python应用程序,那么你可以使用objc.loadBundle
,然后使用objc.lookUpClass
或{{1获取对类的访问权限。从那里,你可以像任何其他桥接的Objective-C类一样使用你的类。
如果您在已经具有Objective-C运行时的进程中运行Python代码,并且您的类已经注册了它,那么您可以跳过loadBundle步骤。