On Wednesday, January 29, 2003, at 09:54 PM, Rich Morin wrote:

I also tried:

  sub tableViewSelectionDidChange
  {
    my ($self, $aNotification) = @_;


#   NSLog($self->selectedRow($aNotification));
    NSLog($aNotification->selectedRow());
    ...

The last one gave me the nastygram:

  2003-01-29 18:42:35.293 Morinfo[17092] Instances of class
  NSConcreteNotification do not respond to selector selectedRow

I couldn't even find information on NSConcreteNotification...
It's a subclass of NSNotification. It's not *strictly* the same, but for most purposes you can treat NSNotification, NSString, NSArray, NSDictionary, NSSet, and several other classes that belong to a "class cluster" as you would a "pure virtual" class in C++. That is, the published class definition is present only to declare methods that subclasses are expected to implement. So, you'll never actually receive an instance of the documented class, you'll get an instance of one of its concrete subclasses instead.

Anyway, what you want to do here is ask the notification for the object that sent it, which - as the docs you posted say - will be the table view. Something like this:

NSLog($aNotification->object()->selectedRow());

sherm--

UNIX: Where /sbin/init is Job 1.

Reply via email to