我正在使用Swift 2,並且我想將struct
類型與enum
中的每個個案相關聯。將類型與Swift枚舉類型關聯起來?
目前,我已經通過向枚舉添加一個函數來解決此問題,該函數名爲type
,它使用switch語句爲每個案例返回相關類型的實例,但是我想知道是否有必要。我知道你可以將字符串,整數等與Swift枚舉關聯起來,但是也可以關聯一個類型嗎?如果有幫助,所有類型的結構都符合相同的協議。
這就是我現在正在做什麼,但我喜歡這個功能做掉:
public enum Thingy {
case FirstThingy
case SecondThingy
func type() -> ThingyType {
switch self {
case .FirstThingy:
return FirstType()
case .SecondThingy:
return SecondType()
}
}
}
「這就是我現在正在做的事情,但我很想去除這個功能」爲什麼?你在做什麼使得選擇完美。它將類型與案例聯繫起來!這是一個枚舉方法_for_。我建議你保持你的想法並繼續前進。 – matt
我當然可以,但我知道用一個字符串等,我可以簡單地做'case FirstThingy =「FirstThingy」'。我想知道我們是否有辦法用對象來做到這一點。 – Luke
所以你說你想要這個類型是一個原始值?保持這一點,或更好的是,使其成爲一個計算屬性。然後,你可以使用'thingy.type'而不是'thingy.rawValue'。 – tktsubota