Объединить перечисления в быстрой - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть два enum для таблицы. В первом я перечисляю заголовки для первого раздела, во втором я перечисляю значки для первого раздела. Как я могу объединить их в одно перечисление

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

Ответы [ 2 ]

1 голос
/ 02 марта 2020

Вы можете использовать вот так.

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")!)
        }
    }
}
1 голос
/ 03 февраля 2020

Попробуйте это:

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