如何在未初始化变量时处理默认初始化程序使用Struct

时间:2015-04-16 07:38:08

标签: ios iphone ipad swift ios8

我正在使用swift结构并在我的struct变量未初始化时尝试使用其默认初始值设定项,我尝试了非可选变量和可选变量,但仅显示“memberwise Initializer”。

下面是带有可选变量的示例

struct myFirstStruct {
    var value1:String?
    var value2:String?
}
下面的

是非可选变量

的示例
struct myFirstStruct {
    var value1:String
    var value2:String
}

它只给出了

myFirstStruct(value1: <#String?#>, value2: <#String?#>)

我希望使用myFirstStruct()

帮助我。 :)

2 个答案:

答案 0 :(得分:0)

Xcode只显示'成员'初始化,但使用myFirstStruct()完全有效,不传递任何参数,因为所有变量都有默认值。

struct myFirstStruct {
    var value1:String?
    var value2:String = "InitialString"
}

let s1 = myFirstStruct() 
// value1 = nil, value2 = "InitialString"

let s2 = myFirstStruct(value1: "Hello", value2: "World") 
// value1 = "Hello", value2 = "World"

答案 1 :(得分:-1)

需要设置默认值。

struct myFirstStruct {
    var value1:String? = nil
    var value2:String? = nil
}

let object = myFirstStruct()