inout parameter swift – Newbie information – iOSTutorialJunction

0
48


By default parameters in swift operate are fixed. It means you can’t change parameters values from within the operate in swift. Typically we have to get parameters worth to be modified from contained in the operate. So right here, inout parameters involves rescue as inout parameter in swift act like a reference sort. Take a look at beneath code block

func swapTwoNumbers(_ numA:Int, _ numbB:Int) {
        let temporaryValue = numA
        numA = numbB
        numbB = temporaryValue
    }

In above operate named swapTwoNumbers, we’re swapping the numbers handed as a parameters to the operate. When you run the above code, compiler will throw an error “Cannont assign to worth: ‘numA’ is a ‘let’fixed”. As a result of parameters handed in a swift operate are fixed by default.

Cannont assign to value:  'numA' is a 'let'constant" - inout parameter swift

Utilizing inout parameter

So right here, to take away the above error we will use inout key phrase and make these parameters as inout parameter in swift. Allow us to see how we will do it

 func swapTowNumbers(_ numA: inout Int, _ numbB:inout Int) {
        let temporaryValue = numA
        numA = numbB
        numbB = temporaryValue
    }

Name a operate utilizing inout parameters

Perform utilizing inout parameters are known as like every other regular operate name. The one distinction is, we have to add ‘&’ earlier than the inout parameter identify or worth. ‘&’ signifies that we this parameter is an inout parameter. Secondly, the values we are going to cross as parameter needs to be a ‘Var’ i.e. variable worth not a ‘let’ i.e. a relentless worth.

    	var firstNumber = 10
        var secondNumber = 30
        swapTowNumbers(&firstNumber, &secondNumber)
        print("Firstnumber == (firstNumber), and secondnumber == (secondNumber)")

When you run above code you may see, that each the numbers, firstNumber and secondNumbers are swapped and result’s printed on xcode console.

Learn extra articles

Web connectivity in iOS – test
Add a number of targets to swift mission