在 swift 中组合枚举



我有两个枚举。在第一部分,我列出了第一部分的标题,在第二部分中,我列出了第一部分的图标。 如何将它们组合成一个枚举

enum cellSectionOne:Int, CaseIterable
{
case cellOne
case cellTwo
var titleCellSectionOne:String
{
switch self {
case .cellOne:
return  "cellOne"
case .cellTwo:
return  "cellTwo"
}
}
}
enum cellIconSectionOne:Int, CaseIterable {
case cellOneIcon
case cellTwoIcon
var icon: UIImage {
switch self {
case .cellOneIcon:
return UIImage(named: "iconOne.png")!
case .cellTwoIcon:
return UIImage(named: "iconTwo.png")!
}
}
}

你可以这样使用。

enum CellSection: Int {
case one
case two
var id: String {
return value.id
}
var icon: UIImage {
return value.icon
}
private var value: (id: String, icon: UIImage) {
switch self {
case .one:
return ("cellOne", UIImage(named: "iconOne.png")!)
case .two:
return ("cellTwo", UIImage(named: "iconTwo.png")!)
}
}
}

试试这个:

enum SectionTitle {
case one(identifier : String, image : String)
case two(identifier : String, image : String)
}

最新更新