忍者ブログ
natsuの秘密基地です
はまり
はまり一件ごとのお話の流れです
カレンダー
01 2020/02 03
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
プロフィール
HN:
natsu
性別:
男性
趣味:
酒など
自己紹介:
ここに書かれていることはフィクションです。
ブログ内検索
アクセス解析
[17] [16] [15] [14] [12] [11] [10] [9] [8] [7] [6
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

最初、何がしたかったのかというと、
Pythonでバンドルを作り、それをObjective Cのメインバンドルから呼び出したかった。
っていうこと。

MVCのVCをObjective Cでつくり、Mの部分をPythonで作る。
んで、Mのところのコードの大部分がプラグインバンドル。
ってな感じが自分の夢だったんです。

 
で、結局のところはそれは出来ません。と。

 
方々あちこち調べたんだけども、ほんとにできないっぽい。
マニュアルにはpy2appでプラグインが作れるっぽいようなことが書かれてたけど。
結局は出来なかった。
それっぽいものが出来上がるんだけども、クラスが取得できなかった。
 
で、どうするかというと、
どっかの質問サイトで回答していたひと曰く、

「やめちゃいなよ。」

らしい。


みもふたも無いっす。


どうしてもやりたいなら、

「Objective Cで書いたバンドルでPythonコードをラッピングするといいよ。」

なんだって。
 
 
 
どんどん話が大げさになっていってる。

 
 
ファクトリーみたいなのを作ればいいんですよ。
Pythonで仕事するクラスをまず作って、
Objective CでそのClassとインスタンスを返すメソッドを持ったクラスを作ればよいと。
 
で、このバンドルを使う側は
Objective Cで作ったファクトリークラスをまず取得して、
その関数を呼び出して、
Pythonで作ったクラス、そのインスタンスを取得しちゃえばいいと。
 
 
結論から言うとこの方法でうまくいった。
 
 
 
 
 
 
興味があるかたは、適当に直して動かしてもらえればと。
動かないときは、動かなくても不思議ではないなと思ってください。
そういう人が作ってるんで。
 
 
デバッガでステップ実行やらなんやらしてたときに思ったんだけども、
ファクトリのクラスをインスタンス化するときに時間がかかってたので、
ここんとこは重いのかも。

Pythonオブジェクトの生成とPythonのオブジェクトのメソッド呼び出しは気にならなかった。
ファクトリはそう何度も何度も作り直さない方がいいんだと思う。
 
 
PR
この記事にコメントする
NAME:
TITLE:
color:
MAIL:
URL:
COMMENT:
PASS: Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:


Copyright (C) 2010 NEST,
All right Resieved.*Powered by ニンジャブログ *Designed by にこるん  / 忍者ブログ / [PR]