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

How to Deal with Default Initializer when variable are not initialized Using Struct

我正在使用 swift 结构并在我的结构变量未初始化时尝试使用其默认初始化程序,我尝试了非可选变量和可选变量,但仅显示 "memberwise Initializer"。

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

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

下面是非可选变量的示例

struct myFirstStruct {
    var value1:String
    var value2:String
}

它只给出

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

我想使用 myFirstStruct()

帮帮我。 :)

需要设置默认值。

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

let object = myFirstStruct()

Xcode 只向您显示 'member-wise' 初始化程序,但使用 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"