On May 3, 2012, at 2:54 PM, Florian Pilz wrote: > Hi again. I just stumbled about this problem for another time and rethought > Ulis explanation. The point of my writing is: Ulis explanation is wrong. The > program compiles (with a warning) and runs perfectly fine.
Well, Uli was wrong in implying that the compiler *has* to know the definition of the protocol. It can generate code without it. But he’s correct that the compiler wants to know the definition so it can do proper consistency checking. > So basically Xcode tells me, that it must know the implementation details, > which are not given in the header file (but may be added in the > implementation file -- therefore a warning rather an error). > Is there a flag to disable such a warning? Probably, but that’s the wrong approach. Warnings are there for a reason. If you disable the warning, then if you add a new method to the protocol later but don’t update a class that implements the protocol, you may not find out until your program throws an exception at runtime. You should instead add an #import to your header so that the actual protocol definition gets parsed before the class that implements it. (Also, this thread belongs on xcode-users or objc-language, not cocoa-dev.) —Jens _______________________________________________ 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