On Mar 15, 2010, at 3:35 PM, David Duncan wrote: > On Mar 15, 2010, at 3:22 PM, Jeff Laing wrote: >> As I recall, sending variables of type id<YourProtocol> useful messages like >> retain and release generate a compiler warning, whereas >> NSObject<YourProtocol> are fine. >> >> I could be wrong on this, but I definitely recall thinking it was a stupid >> compiler behavior. > > This is because you didn't declare your protocol as extending the NSObject > protocol. If you do something like this: > > @protocol MyProtocol<NSObject> > > Then you can call all the NSObject stuff without warning.
Well, some of the NSObject stuff. NSObject protocol is a subset of NSObject class. If you only use the basics - like retain/release/autorelease, respondsToSelector:, performSelector - then NSObject protocol is sufficient. Other more recent additions are part of NSObject class only. -- Greg Parker gpar...@apple.com Runtime Wrangler _______________________________________________ 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com