首页 > 解决方案 > 在同一个枚举函数中调用 Swift 枚举案例

问题描述

我试图让我的头脑围绕 Swift 枚举,并通过尝试从同一个枚举中的函数返回一个字符串来让自己脱离教程轨道......

enum topFiveBands: Int {
    case led_zeppilin = 1, queen, rush, pink_floyd, acdc

    func printRating() {
        print("The band \(???) has been ranked no.\(self.rawValue) of all time")
    }
}

var myFavBand = topFiveBands.acdc
myFavBand.printRating()

我的代码以一个隐式赋值开始,它列出了所有时间的前 5 个乐队(你们中的一些人可能不同意我的观点......)。在同一个枚举中,我有一个将打印的函数:

The band \(???) has been ranked no.\(self.rawValue) of all time

我已经选择.acdc了,所以我正在寻找要返回的函数:

The band acdc has been ranked no.5 of all time

虽然我可以拉出 rawValue (5),但我似乎找不到将其acdc放入字符串的方法。

标签: swiftenumscase

解决方案


只需使用self

func printRating() {
    print("The band \(self) has been ranked no.\(self.rawValue) of all time")
}

在这种情况下self,是对其自身值的引用acdc


推荐阅读