2
我有一個名爲Foo的字符串類型的枚舉。在Swift中,如何在一個結構中初始化一個可選的枚舉爲零?
我有一個名爲MyStruct的結構,它有一個可選的Foo實例,我希望它最初爲零。
此外MyStruct有一個failable初始化程序。
問題:當我讓MyStruct具有failable初始值設定項和可選的Foo實例(最初爲零)時,我的構建失敗,我得到「Segmentation fault:11」。
當我將MyStruct重命名爲MyClass並將其類型更改爲類時,沒有任何問題。
有沒有人可以告訴我爲什麼我不能在結構中使用failable初始值設定項和可選枚舉值初始化爲零?
import Foundation
enum Foo: String {
case Bla = "blabla"
}
public struct MyStruct {
var myEnum: Foo?
public init?() {}
}
var myStruct = MyStruct()
if let myEnum = myStruct?.myEnum {
println("myEnum is not nil => \(myEnum.rawValue)")
} else {
println("myEnum is nil")
}
我試過你的代碼,但我仍然得到相同的錯誤。它只在我使它成爲不可分解的初始化程序或將類型更改爲類時編譯。 – 2015-04-06 18:15:36