Hello, all ... After [re-]reading the Apple documentation, i'm still not clear as to what @optional really does in a @protocol. I thought that declaring certain messages as @optional would make the app not crash if a certain message didn't have an implementation in a class that adopts the protocol, however i'm finding that this isn't the case:
2010-01-05 10:40:58.698 VoxityNowPlaying[14413:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[VoxityNowPlayingViewController playerURLFinished:]: unrecognized selector sent to instance 0x39138f0' ... yet my protocol is defined thusly: @protocol VoxityPlayerDelegate <NSObject> @optional - (void)playerURLFinished:(NSURL *)url; . . . @end Do I need to wrap code that sends messages to delegates with -respondsToSelector? If so, what is the point of @optional in the protocol? Regards, John _______________________________________________ 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