On Sep 29, 2011, at 5:38 PM, Jamie Pinkham wrote:
> On Sep 29, 2011, at 6:22 PM, Koen van der Drift <[email protected]>
> wrote:
>
>> I'm trying to get the delegate of a window that is controlled by a custom
>> NSWindowController as follows:
>>
>> NSWindow *win = [self window];
>> id <MyControllerDelegate> del = [win delegate];
>>
>> But get the following warning:
>>
>> warning: Semantic Issue: Initializing 'id<MyControllerDelegate>' with an
>> expression of incompatible type 'id<NSWindowDelegate>'
>>
>> What am I doing wrong?
>
> The NSWindow delegate's type is id<NSWindowDelegate> not id
> <MyControllerDelegate>. This is the compiler telling you the types don't
> match.
In particular, "id <whatever>" is an id (a pointer to an object of
indeterminate type) which is known to conform to a _protocol_ called "whatever".
I think you have confused NSWindowDelegate for some arbitrary placeholder,
perhaps for a class name.
If your delegate class is call MyControllerDelegate, then you want:
MyControllerDelegate* del = [win delegate];
And the definition of MyControllerDelegate should have declared its conformance
to the NSWindowDelegate protocol.
Regards,
Ken
_______________________________________________
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]