On Jul 25, 2009, at 9:17 PM, Brian Slick wrote:

I won't pretend to know the answer, but this struck me as odd:

On Jul 25, 2009, at 3:06 PM, WT wrote:

- (void) awakeFromNib
{
  super.delegate = self;
  super.text = @"Hello world";

  NSLog(@"awakeFromNib called - delegate set to self");
}


Shouldn't it be [self setDelegate: self]? I wouldn't think you'd have an actual 'super' object available to perform the delegate methods.

But I probably don't understand.

Brian

The reason is simple, though probably not obvious.

I still might need the text field to have an "outside" delegate, which I maintain by having an additional outlet reserved for that delegate. Then, I override -delegate to return that outlet and -setDelegate: to set it.

That way, the field can be its own true delegate and do its job, while also allowing an outside object to serve as a delegate and participate in the editing session. As far as the outside world is concerned, it's business as usual.

But once I have an overridden -setDelegate:, I can't use self.delegate = self to set the field as its own true delegate, because that will execute the overridden method.

Wagner
_______________________________________________

Cocoa-dev mailing list ([email protected])

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to