On Oct 4, 2013, at 9:59 AM, Matt Neuburg <m...@tidbits.com> wrote: > Or, (2) inherit NSObject protocol back in the protocol definition: > > @protocol MyCellDelegate<NSObject> > @end
You should do this. > But why is either of those necessary? Surely an id<MyCellDelegate> is, by > definition, an id id<MyCellDelegate> is more specific than id, and so the compiler warns about calling methods that are not declared in MyCellDelegate. > - which inherits from NSObject id does not inherit from NSObject, it is just a generic object pointer. In many ways its a “get out of the type system free” card. But if you add type information to id by restricting it via a protocol, then you are requesting type checking. > , and thus should solve the problem, just like casting to id. It is as if > id<MyCellDelegate> is not an id, which makes no sense to me. Is this a Clang > bug? Or am I just missing some fundamental truth? -- David Duncan _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com