0

私は小さな MacRuby プロジェクトに取り組んでおり、0.5b1 を使用して、Growl に必要なデリゲート メソッドを実装しています (アプリは通知に Growl を使用しています)。

通知がクリックされたときに Growl コールバックに応答できるようにしたいのですが、Growl デリゲートを登録すると、デリゲートに Growl 登録情報::GrowlApplicationBridge.setGrowlDelegate selfが要求されます。NSDictionary*

標準の NSDictionary インスタンスを返そうとしたり、オブジェクトをポインターに強制しようとしたりしましたが、毎回セグメンテーション違反が発生するようです (これは、オブジェクトへのポインターではなくオブジェクトを返しているためだと思います)。 .

オブジェクト自体へのポインターを取得できるかどうか、またはp = Pointer.new("NSDictionary")何らかの方法でデータを割り当てることができるかどうか疑問に思っています (p.assign(dict)整数を期待しているため、使用すると型エラーが発生します)。

他のオプションは、デリゲートとして機能する ObjC クラスを作成し、Ruby からそれにフックすることだと思いますが、それは目的をやや無効にします....

4

1 に答える 1