在Swift中重置结构变量

5

我创建了一个结构体来存储项目中的字符串。

例如:

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"
}

在应用程序中,我可以在某个时间点更改这些变量。我想知道是否可以将所有值重置为初始状态?
2个回答

11

重置 StringStruct 变量最简单的方法是赋予一个新的默认值:

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

strings = StringStruct()

如果您想将其作为(变异)函数执行,则可以实现如下:

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()
    }
}

这个功能可以省略重复输入所有默认值的过程。


好的加法 :). 2018年9月还有更棘手的问题吗? - Jack

3
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"
     }
}

reset函数需要标记为mutating,否则会出现编译错误。 - Doug Richardson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接