« 本当はあまり何もしてくれないDelphi-ObjectiveCブリッジ(メモリ管理編) | トップページ | 本当はあまり何もしてくれないDelphi-ObjectiveCブリッジ(クラスインポート編) »

2013年5月23日 (木)

本当はあまり何もしてくれないDelphi-ObjectiveCブリッジ(メモリ管理編)・・・おまけ

前回 のおまけです。前回の最後に書いたように、、Objective-Cのオブジェクトを保持しておこうとしたら、一々、retainだのreleaseだの面倒くさいです。

というか、そもそも、せっかくObjective-CのオブジェクトをDelphiのオブジェクトでラップして自動参照カウントが働くDelphiのインターフェース型を経由して操作させるのなら、ラップする段階でDelphiのオブジェクトに所有権を必ず移して管理させれば楽なような気がするが・・??

現状の実装として、Macapi.ObjectiveCユニットで定義されてるTOCImportクラスがObjective-Cのオブジェクトのポインタをラップしていているのですが、

ポインタ型のIDがObjective-Cのオブジェクトのポインタと思って問題ないのですが、本当に何もしてないんです。

これをラップする段階で所有権をDelphiのオブジェクトに持たせてあげれば、いちいち、Delphiから操作する時にretain/releaseをする必要なくなるんじゃないかなぁーーと。

イメージとしてはこんな感じに。

で、Wrapメソッドもパラメータをとりあえず追加して同じように

まぁ、こんな事すると他の問題があるのかもしれませんが。


« 本当はあまり何もしてくれないDelphi-ObjectiveCブリッジ(メモリ管理編) | トップページ | 本当はあまり何もしてくれないDelphi-ObjectiveCブリッジ(クラスインポート編) »

Delphi」カテゴリの記事

MacOS X」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1497665/51718941

この記事へのトラックバック一覧です: 本当はあまり何もしてくれないDelphi-ObjectiveCブリッジ(メモリ管理編)・・・おまけ:

« 本当はあまり何もしてくれないDelphi-ObjectiveCブリッジ(メモリ管理編) | トップページ | 本当はあまり何もしてくれないDelphi-ObjectiveCブリッジ(クラスインポート編) »

自作ソフトウェア

無料ブログはココログ

メモ