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

Reply via email to