У меня есть приложение, которое использует собственный массив для заполнения данных в табличном представлении. Я хотел бы разделить эти данные на два раздела в табличном представлении. Прошел несколько уроков и нашел подход, который мне нравится использовать enum. Учебное приложение работает нормально, используя [[String: String]]] ().
Каждая попытка преобразовать мои данные в [[String: String]]] () не удалась, и я не могу преобразовать мои данные в формат enum.
Приведенный ниже код является примером того, что я пытаюсь сделать, но я пробовал много других способов, которые также не работали.
Любые предложения будут оценены.
Новый код, текущая ошибка:
"Невозможно присвоить значение типа '[TableViewController_Main.Category]" типу ArraySlice <[TableViewController_Main.Category]>' "
enum TableSection: Int {
case requests = 0, appointments, total
}
struct Category {
var clientName: String
var appType: String
var appDateTime: String
var status: String
var photo: UIImage?
}
var dataView = [[TableSection: Category]]()
var dataViewLoop = [Category]()
func SetData() {
for tableData in datas {
guard let data1 = Category(clientName: tableData.client_name ?? "",
appType: tableData.app_type ?? "",
appDateTime: tableData.app_date_time ?? "",
status: tableData.app_date_time ?? "",
photo: tableData.photo ?? nil) as Category? else {
fatalError("Unable to instantiate")
}
dataViewLoop += [data1]
}
dataView[.appointments] = dataViewLoop.filter({ $0.status == "confirmed" })
dataView[.requests] = dataViewLoop.filter({ $0.status == "request" })
// Cannot assign value of type '[TableViewController_Main.Category]' to type 'ArraySlice<[TableViewController_Main.Category]>'