New syntax in Xcode 12.5.


Alex Zavatone
 

I just saw someone use this syntax in a project and haven’t see it before.  It compiles in Xcode 12.5, but not in Xcode 12.4.  Does anyone have any more details on it?

let myVar = myVar != someValue ? resultOne : resultTwo

Swift sure is getting muddier and muddier with regards to visual comprehension.

Thanks in advance.  
Alex Zavatone


Jeremy Hughes
 

Are you referring to the ternary conditional operator, which has existed in Swift since the beginning, or to the fact that it creates a local variable with the same name (myVar) as a parameter or member (myVar)?

Jeremy

On 26 Jul 2021, at 15:37, Alex Zavatone via groups.io <zav=mac.com@groups.io> wrote:

I just saw someone use this syntax in a project and haven’t see it before. It compiles in Xcode 12.5, but not in Xcode 12.4. Does anyone have any more details on it?

let myVar = myVar != someValue ? resultOne : resultTwo

Swift sure is getting muddier and muddier with regards to visual comprehension.

Thanks in advance.
Alex Zavatone


Alex Zavatone
 

The first half. Ternary has been there since time began. I’ve never seen this part be legitimate before.

let myVar = myVar != someValue


On Jul 26, 2021, at 10:09 AM, Jeremy Hughes via groups.io <moon.rabbit=virginmedia.com@groups.io> wrote:

Are you referring to the ternary conditional operator, which has existed in Swift since the beginning, or to the fact that it creates a local variable with the same name (myVar) as a parameter or member (myVar)?

Jeremy



On 26 Jul 2021, at 15:37, Alex Zavatone via groups.io <zav=mac.com@groups.io> wrote:

I just saw someone use this syntax in a project and haven’t see it before. It compiles in Xcode 12.5, but not in Xcode 12.4. Does anyone have any more details on it?

let myVar = myVar != someValue ? resultOne : resultTwo

Swift sure is getting muddier and muddier with regards to visual comprehension.

Thanks in advance.
Alex Zavatone





Jeremy Hughes
 

1. myVar != someValue is the condition.

2. It determines whether the ternary expression evaluates to resultOne or resultTwo

3. resultOne or resultTwo is what is assigned in let myVar =

This seems like a standard use of the ternary conditional operator. I don’t have any problems compiling it in Xcode 12.4.

Jeremy

On 26 Jul 2021, at 16:57, Alex Zavatone via groups.io <zav=mac.com@groups.io> wrote:

The first half. Ternary has been there since time began. I’ve never seen this part be legitimate before.

let myVar = myVar != someValue


On Jul 26, 2021, at 10:09 AM, Jeremy Hughes via groups.io <moon.rabbit=virginmedia.com@groups.io> wrote:

Are you referring to the ternary conditional operator, which has existed in Swift since the beginning, or to the fact that it creates a local variable with the same name (myVar) as a parameter or member (myVar)?

Jeremy



On 26 Jul 2021, at 15:37, Alex Zavatone via groups.io <zav=mac.com@groups.io> wrote:

I just saw someone use this syntax in a project and haven’t see it before. It compiles in Xcode 12.5, but not in Xcode 12.4. Does anyone have any more details on it?

let myVar = myVar != someValue ? resultOne : resultTwo

Swift sure is getting muddier and muddier with regards to visual comprehension.

Thanks in advance.
Alex Zavatone







Alex Zavatone
 

I found out what the issue was.  The programmer didn’t add a self in front of variables that had the same name as the local that he was creating.   Xcode 12.4 reports an error until you add self in front of the properties.  Xcode 12.5 can handle 

The actual line looked more like this.

let myVar = myVar != someValue ? myVar : myOtherAssignment

It actually should be    

let myVar = self.myVar != someValue ? self.myVar : myOtherAssignment

Thanks.
Alex Zavatone

On Jul 26, 2021, at 11:19 AM, Jeremy Hughes via groups.io <moon.rabbit@...> wrote:

1. myVar != someValue is the condition.

2. It determines whether the ternary expression evaluates to resultOne or resultTwo

3. resultOne or resultTwo is what is assigned in let myVar =

This seems like a standard use of the ternary conditional operator. I don’t have any problems compiling it in Xcode 12.4.

Jeremy



On 26 Jul 2021, at 16:57, Alex Zavatone via groups.io <zav@...> wrote:

The first half.  Ternary has been there since time began.  I’ve never seen this part be legitimate before.

let myVar = myVar != someValue



On Jul 26, 2021, at 10:09 AM, Jeremy Hughes via groups.io <moon.rabbit@...> wrote:

Are you referring to the ternary conditional operator, which has existed in Swift since the beginning, or to the fact that it creates a local variable with the same name (myVar) as a parameter or member (myVar)?

Jeremy



On 26 Jul 2021, at 15:37, Alex Zavatone via groups.io <zav@...> wrote:

I just saw someone use this syntax in a project and haven’t see it before.  It compiles in Xcode 12.5, but not in Xcode 12.4.  Does anyone have any more details on it?

let myVar = myVar != someValue ? resultOne : resultTwo

Swift sure is getting muddier and muddier with regards to visual comprehension.

Thanks in advance.
Alex Zavatone