On Apr 24, 2014, at 5:21 PM, Andy Lee wrote: > > On Apr 24, 2014, at 4:10 PM, Alex Zavatone <z...@mac.com> wrote: > >> Could we throw a category on NSObject for that and then every class that >> originates with NSObject gets that lovely method? > > Not exactly, because unlike Smalltalk's nil, Objective-C's nil is *not* an > object. But you could switch it around: > > @implementation NSObject (NilCheck) > - (id)fallbackIfNil:(id)obj { return obj ?: self; } > @end > > I still don't see how > > foo = [@"Something" fallbackIfNil:foo]; > > has any advantage over > > foo = foo ?: @"Something"; > > which is less verbose, doesn't have the cost of a message send, and uses an > operator the reader of the code should already know. > > --Andy
Yeah, I was thinking about something less verbose, but still expressive of the task trying to be accomplished. something likeā¦ z = [initMeIfNil: z as:@"my most awesome string ever"]; Or something to that effect but neater and tinier. - Alex _______________________________________________ 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