[Rubycocoa-devel 939] parameters in callback are different from original objects

Back to archive index

Satoshi Nakagawa snaka****@infot*****
Sun Jun 3 22:14:51 JST 2007


Hi.

I found a problem that parameters in callback are different original objects.

For example,
----
class TableManager < OSX::NSObject
  ib_outlet :table

  def awakeFromNib
    @table.setDataSource(self)
  end

  def numberOfRowsInTableView(sender)
    p sender
    p @table
    if sender == @table
      ...
    else
      ...
    end
  end
end
----

The output is:
----
#<OSX::NSTableView:0xa16990 class='NSTableView' id=0xf9b44a0>
#<OSX::NSTableView:0xa1744e class='NSTableView' id=0xf9b44a0>
----

Sender value passed to numberOfRowsInTableView is different from @table.
Therefore I cannot compare these objects by 'sender == @table'.
I must compare using 'sender.__ocid__ == @table.__ocid__'.

This problem might be caused by the fix of [Rubycocoa-devel 893].

--
Satoshi Nakagawa




More information about the Rubycocoa-devel mailing list
Back to archive index