• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Good idea/bad idea?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Good idea/bad idea?


  • Subject: Re: Good idea/bad idea?
  • From: Roland King <email@hidden>
  • Date: Thu, 24 Apr 2014 23:21:17 +0800

well not if it's actually

	x = (x) ?: @"yo";

but

	x = (x) ? x : @yo" ;

seems to be fine.

nil is defined to be 0, 0x0, any other kind of zero you like.

I don't like bools not being bools so I'd personally do

	x = (!x) ? @"yo" : x;

or

	x = (!!x) ? x : @"yo"		// preferred

but it's all the same. What was it about this which worried you.

On 24 Apr, 2014, at 11:08 pm, Alex Zavatone <email@hidden> wrote:

> I guess my real question is "can we substitute the ternary operator for your if statement and if not, why?"
>
> Thanks man.
>
> On Apr 24, 2014, at 10:53 AM, Raheel Ahmad wrote:
>
>> Usually, I would access such variables as properties that are lazy loaded, in which case the accessing code is simply:
>>
>> 	self.x …
>>
>> and the accessor is
>>
>> 	- (NSString *) x {
>> 		if (!_x) {
>> 			_x = @“yo”;
>> 		}
>> 		return _x;
>> 	}
>>
>> - Raheel
>>
>> On April 24, 2014 at 7:36:57 AM, Alex Zavatone (email@hidden) wrote:
>>
>>> I was just asked yesterday if there is any shorthand in Objective-C for "if this thing = nil, then instantiate a new instance from the class"
>>>
>>> Something like this:
>>>
>>> NSString x;
>>>
>>> if ([x isEqualtoString:nil]) {
>>> x = @"yo";
>>> }
>>>
>>> Feel free to replace NSString with any class.
>>>
>>> And we messed around a bit looking for any shorthand and though it looked like a terrible idea since the comparison is done against integers using the ternary operator, I'd like to know exactly why it's a terrible idea.
>>>
>>> NSString x;
>>>
>>> x = (x) ?: @"yo";
>>>
>>> Thanks in advance.
>>> - Alex
>>>
>>> _______________________________________________
>>>
>>> Cocoa-dev mailing list (email@hidden)
>>>
>>> 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:
>>>
>>> This email sent to email@hidden
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> 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:
>
> This email sent to email@hidden


_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:

This email sent to email@hidden


  • Follow-Ups:
    • Re: Good idea/bad idea?
      • From: Alex Zavatone <email@hidden>
    • Re: Good idea/bad idea?
      • From: Jens Alfke <email@hidden>
    • Re: Good idea/bad idea?
      • From: Scott Ribe <email@hidden>
References: 
 >Good idea/bad idea? (From: Alex Zavatone <email@hidden>)
 >Re: Good idea/bad idea? (From: Raheel Ahmad <email@hidden>)
 >Re: Good idea/bad idea? (From: Alex Zavatone <email@hidden>)

  • Prev by Date: Re: Mouse cursors and overlapping sibling NSViews
  • Next by Date: Re: Good idea/bad idea?
  • Previous by thread: Re: Good idea/bad idea?
  • Next by thread: Re: Good idea/bad idea?
  • Index(es):
    • Date
    • Thread