Here是我的菜单。最初,我仅从tableView
菜单中的一个部分开始,并使用enum
填充单元格。现在,我想添加更多部分。我正在尝试使用嵌套的enum
。我发现了这个answer和这个answer,向我展示了如何实现嵌套的enum
。
这是我的尝试。 Case A
代表表中的section
1,Case B
代表section
2,依此类推:
enum MenuOption {
case Section0(A) // for tableView section 0
case Section1(B) // for tableView section 1
case Section2(C) // for tableView section 2
enum A: Int, CaseIterable, CustomStringConvertible {
case Categories
case Favourites
case Search
var description: String {
switch self {
case .Categories: return "Categories"
case .Favourites: return "Favourites"
case .Search: return "Search"
}
}
}
enum B: Int , CaseIterable, CustomStringConvertible {
case Notifications
case RateThisApp
var description: String {
switch self {
case .Notifications: return "Notifications"
case .RateThisApp: return "Rate This App"
}
}
}
enum C: Int , CaseIterable, CustomStringConvertible {
case Developer
var description: String {
switch self {
case .Developer: return "App Developer"
}
}
}
}
对于tableView
中的cellForRowAt
,我会使用类似的东西
cell.descriptionLabel.text = MenuOption.A(rawValue: indexPath.row)?.description
然后在numberOfRowsInSection
中,我将返回MenuOption.A.allCases.count
但是我不想要A
。我需要确定A
适用于section 0
,B == section 1
,C == section 2
等。但是我不知道如何将enum
案例链接到tableView
个部分。
关于“在Swift中枚举枚举案例”的article使我认为我正在尝试的事情是可能的,但是再次,我正在为实现而苦苦挣扎,现在不确定是否值得这样做。我相信我需要为我的MenuOption enum
任何帮助表示赞赏。