Apple documentation states that the "Names of most private methods in the Cocoa 
frameworks have an underscore prefix (for example, _fooData ) to mark them as 
private.”

I just ran into a case where one of my method names in a subclass replaced a 
private Cocoa framework method of the same name causing my application to crash 
in the next version of OS X. The private Cocoa framework method name did not 
have an underscore prefix. So the documentation is correct, “most” but not all 
private methods in the frameworks have an underscore prefix.

There is no way that I would have known about the private Cocoa framework 
method except examining a class-dump.

Apple documentation also states that "If you are subclassing a large Cocoa 
framework class (such as NSView or UIView) and you want to be absolutely sure 
that your private methods have names different from those in the superclass, 
you can add your own prefix to your private methods. The prefix should be as 
unique as possible, perhaps one based on your company or project and of the 
form "XX_". So if your project is called Byte Flogger, the prefix might be  
BF_addObject:"

I have never bothered doing this because for one reason BF_addObject looks so 
ugly as a method name.

Does anyone prefix their private method names like Apple recommends when 
subclassing a large Cocoa framework class?

Also why does Apple say "If you are subclassing a large Cocoa framework class”. 
What if I am subclassing a small Cocoa framework class. What difference would 
it make?

--Richard Charles


_______________________________________________

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

Reply via email to