Home > Back-end >  Xcode 13.3 magically changing a function call into a property access
Xcode 13.3 magically changing a function call into a property access

Time:03-17

Overnight, my Xcode got updated to 13.3. Since then, I am getting an error while compiling.

I have a method, which is now called xxxxasdfxxxx(). It appears in the last line of an if statement. For example:

       if  let state = ...,
            let field = state....,
            !field.xxxxasdfxxxx()
        {
        }

Whenever I compile, the code magically changes from a method to a property. So the above code suddenly looks like:

        if  let state = ...,
            let field = state....,
            !field.xxxxasdfxxxx {

Note, it is even moving the opening brace as well. I do not know if that is relevant.

This is a breaking change and I have no idea why it is doing it. Obviously the name of the function is not important as I have changed it several times. Interestingly, I have a piece of identical code in another part of the project that is not being magically changed.

Does anyone have an idea as to why this might be happening and how to get around it?

CodePudding user response:

I had the same problem with Xcode 13.3 and I don't know what is causing that. But I found a solution that worked for me and made possible to build the application without further problems.

Just remove the ! from de method's call and use == false instead as follows:

            if  let state = ...,
            let field = state....,
            field.xxxxasdfxxxx == false {
  • Related