Swift - 使构造函数参数上的标签可选吗?

时间:2014-09-28 19:00:16

标签: constructor swift

比方说,例如,您有以下代码:

struct SomeStruct {
     init (arg1: String, arg2: Int){
          // Does Stuff with Variables
     }
}

// Some Point Later

var str = "fasfsad"
var integer = 343
let smth = SomeStruct(arg1: str, arg2: integer)

是否可以修改SomeStruct结构以使以下代码行合法?

let smth = SomeStruct(str, integer)

2 个答案:

答案 0 :(得分:7)

是的,您可以通过对外部参数名称使用下划线来使参数匿名:

struct SomeStruct {
     init (_ arg1: String, _ arg2: Int){
          // Does Stuff with Variables
     }
}

答案 1 :(得分:3)

以下是如何执行此操作的方法:

struct A {
    var a: String
    var b: String

    init(_ a: String,_ b: String) {
        self.a = a
        self.b = b
    }
}

var x = A("S", "B")