我正在尝试在枚举中执行一个函数,但是在执行此代码 ContentType.SaveContent("News")
时,我不断收到以下错误: Use of instance member on type 'ContentType'; did you mean to use a value of type 'ContentType' instead?
。为什么当我将类型设置为 String 时它不会运行?
enum ContentType: String {
case News = "News"
case Card = "CardStack"
func SaveContent(type: String) {
switch type {
case ContentType.News.rawValue:
print("news")
case ContentType.Card.rawValue:
print("card")
default:
break
}
}
}
最佳答案
我可能会这样做而不是你想要做的:
在 ContentType 枚举一个 func :
func saveContent() {
switch self {
case .News:
print("news")
case .Card:
print("cards")
}
}
在将使用您的枚举的代码的另一部分:
func saveContentInClass(type: String) {
guard let contentType = ContentType(rawValue: type) else {
return
}
contentType.saveContent()
}