我正在使用 0.5b1 开发一个小型 MacRuby 项目,该项目正在实现 Growl 所需的委托方法(该应用程序使用 Growl 进行通知)。
我希望能够在单击通知时响应 Growl 回调,但是当您向其注册 Growl 委托时,::GrowlApplicationBridge.setGrowlDelegate self
它会向委托请求NSDictionary*
Growl 注册信息。
我尝试返回一个标准的 NSDictionary 实例,试图将对象强制转换为指针等,但每次我似乎都遇到分段错误(我想这是因为我传回一个对象,而不是指向该对象的指针) .
我想知道是否可以获得指向对象自身的指针,或者使用p = Pointer.new("NSDictionary")
是否可以以某种方式分配数据(使用p.assign(dict)
会导致类型错误,因为它需要一个整数)。
我想另一种选择是编写一个 ObjC 类来充当委托,并从 Ruby 中挂钩,但这有点违背了目的......