Max Yankov Max Yankov - 1 year ago 56
Swift Question

Does Swift have something like "ref" keyword that forces parameter to be passed by reference?

In Swift, structs and value types are passed by value by default, just like in C#. But C# also has a very usable ref keyword, that forces the parameter to be passed by reference, so that the same instance could be changed inside the function and accessed from the caller's scope afterwards. Is there a way to achieve the same result in Swift?

Answer Source

Use the inout qualifier for a function parameter.

func swapTwoInts(a: inout Int, b: inout Int) {
    let temporaryA = a
    a = b
    b = temporaryA

swapTwoInts(&someInt, &anotherInt)

See Function Parameters and Return Values in the docs.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download