0

この質問は基本的に、この他の質問の逆です: Calling Python from Objective-C

私は iPhone アプリケーション ロジックを Objective-C で (明らかに) 実装しており、サーバー コンポーネントで XCode プロジェクトから可能な限り再利用して、二重実装を節約しようとしています。Python から CoreData データ モデルを正常にロードしましたが、実際に Python から Objective-C ロジックを呼び出す方法がわかりません。

基本的に、Python から iPhone プロジェクトの Objective-C クラスとメソッドにアクセスして、すべての実装を無駄にしないようにしています。

これは漠然と可能ですか、それとも重複した実装がここでの唯一の解決策ですか? Boost::Python が使用されるようなものに思えますが、よくわかりません。

編集: C++ ベースであり、Objective-C が必要なため、Boost::Python は機能しません。うまくいかないのには理由があることを知りました。

4

1 に答える 1

1

Objective-Cコードがフレームワーク内にあり、基本的にフレームワークを使用するPythonアプリケーションを作成したい場合は、を使用してから、またはをobjc.loadBundle使用してクラスにアクセスできます。そこから、他のブリッジされたObjective-Cクラスと同じようにクラスを使用できます。objc.lookUpClassNSClassFromString

すでにObjective-Cランタイムが稼働しているプロセス内でPythonコードを実行していて、クラスがすでに登録されている場合は、loadBundleステップをスキップできます。

于 2010-07-06T05:44:45.580 に答える