如何利用 Swift 2 或更大的枚举字符串?
How to take advantage of enum string in Swift 2 or greater?
下面的图片显示了我在应用程序中的按钮。我有像这样的不同选择的枚举
enum Legal: String {
case Term = "Terms Of Service"
//Link: WWW.google.com/Terms
case Licenses = "Licenses"
//Link: WWW.google.com/License
case Privacy = "Privacy policy"
//Link: WWW.google.com/policy
}
我想知道是否有一种有效的方法来存储 links 而不是将其存储在变量中。我对 swift 内存管理了解不多,但我知道有一种方法我们可以不用使用 ENUMS 将那些 link 存储在堆中。可能在枚举或其他东西中有一个功能。
目前我只是传递按钮标题是什么,并相应地返回 link
func getLinke(legal: String) -> String {
if legal == Legal.Term.rawValue {
return "WWW.google.com/Terms"
} else if legal == Legal.Licenses.rawValue {
return "WWW.google.com/License"
} else if legal == Legal.Privacy.rawValue {
return "WWW.google.com/policy"
}
return ""
}
您完全可以将这些 link 存储在您的枚举中,如果这是您需要的,请将其添加到您的枚举中:
var link: String {
get {
switch self {
case Term:
return "WWW.google.com/Terms"
case Licenses:
return "WWW.google.com/License"
case Privacy:
return "WWW.google.com/policy"
}
}
}
然后可以这样调用:
let term = Legal.Term
let url = term.link
下面的图片显示了我在应用程序中的按钮。我有像这样的不同选择的枚举
enum Legal: String {
case Term = "Terms Of Service"
//Link: WWW.google.com/Terms
case Licenses = "Licenses"
//Link: WWW.google.com/License
case Privacy = "Privacy policy"
//Link: WWW.google.com/policy
}
我想知道是否有一种有效的方法来存储 links 而不是将其存储在变量中。我对 swift 内存管理了解不多,但我知道有一种方法我们可以不用使用 ENUMS 将那些 link 存储在堆中。可能在枚举或其他东西中有一个功能。
目前我只是传递按钮标题是什么,并相应地返回 link
func getLinke(legal: String) -> String {
if legal == Legal.Term.rawValue {
return "WWW.google.com/Terms"
} else if legal == Legal.Licenses.rawValue {
return "WWW.google.com/License"
} else if legal == Legal.Privacy.rawValue {
return "WWW.google.com/policy"
}
return ""
}
您完全可以将这些 link 存储在您的枚举中,如果这是您需要的,请将其添加到您的枚举中:
var link: String {
get {
switch self {
case Term:
return "WWW.google.com/Terms"
case Licenses:
return "WWW.google.com/License"
case Privacy:
return "WWW.google.com/policy"
}
}
}
然后可以这样调用:
let term = Legal.Term
let url = term.link