2015-11-21 38 views
2

我創建了一個結構來存儲項目的字符串。在Swift中重置結構變量

例子:

struct StringStruct { 
    var BUTTON_TITLE: String = "Okay" 
    var CANCEL_TITLE: String = "I don't think so" 
    var DECLINE_TITLE: String = "No" 
    var PROFILE_TABBAR_TITLE: String = "My Profile" 
} 

在應用程序中,我可以在某些時候更改這些變量。

我想知道是否可以將所有值重置回初始狀態?

回答

5

重置StringStruct變量將 分配一個新的默認值,最簡單的方法:如果你想這樣做的(突變)作用,那麼我會執行 它

var strings = StringStruct() 
strings.DECLINE_TITLE = "Nein" 

strings = StringStruct() 

as

struct StringStruct { 
    var BUTTON_TITLE: String = "Okay" 
    var CANCEL_TITLE: String = "I don't think so" 
    var DECLINE_TITLE: String = "No" 
    var PROFILE_TABBAR_TITLE: String = "My Profile" 

    mutating func reset() { 
     self = StringStruct() 
    } 
} 

它消除了重複所有默認值的需要。

2
struct StringStruct { 
    var BUTTON_TITLE: String = "Okay" 
    var CANCEL_TITLE: String = "I don't think so" 
    var DECLINE_TITLE: String = "No" 
    var PROFILE_TABBAR_TITLE: String = "My Profile" 

    mutating func reset() { 
     BUTTON_TITLE = "Okay" 
     CANCEL_TITLE = "I don't think so" 
     DECLINE_TITLE = "No" 
     PROFILE_TABBAR_TITLE = "My Profile" 
    } 
} 
+0

復位函數需要標記爲變異,否則你會得到一個編譯錯誤。 –