On Mar 3, 2009, at 11:47, Nick Zitzmann wrote:

// build NSMenu by HAND
NSMenu *menu = [[[NSMenu alloc] initWithTitle:@"abc"] autorelease];
if (menu != NULL)

You don't have to worry about this. There are a few classes that may return nil (not NULL) if initialization fails, such as NSPipe. NSMenu is not one of these classes, and most likely never will be.

This is somewhat OT, but I'm not sure if I follow you here. By design (http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Articles/chapter_4_section_4.html#/ /apple_ref/doc/uid/TP30001163-CH22-SW13), *any* class's initializer may return nil to indicate initialization failure. I don't know of any documented API contract that says [NSMenu initWithTitle:] never fails, so checking the returned value seems prudent.

In addition, I've always assumed that 'alloc' could potentially return nil. In that case, the result of the initialization would be nil too, and so needs to be checked. (Is that wrong? Is an exception thrown if there is no memory available? If so, is that documented somewhere?)


_______________________________________________

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

Reply via email to