Я сгруппировал данные по дате и добавил значения к AppointmentDateModel
- tableValues. Поскольку данные содержат одну и ту же дату с данными нескольких встреч, я сгруппировал их. Но когда я добавляю значения, он автоматически сортирует или меняет порядок.
Как мне установить порядок в словаре, чтобы его нельзя было изменить? Или я группирую их правильно?
Мои основные модели - DownloadEntity
и appointmentDownloadModel
, а затем для сгруппированных я использую AppointmentDateModel
объявление:
var mDownloadEntity: [DownloadEntity] = []
var tableValues:[AppointmentDateModel] = []
var dict : [Int64:[AppointmentDownloadModel]] = [:]
Добавление кода:
mDownloadEntity.forEach { apDate in
print(apDate)
var value = dict[apDate.appdate]
if(value == nil){
dict.updateValue([apDate.appointmentDownloadModel!], forKey: apDate.appdate)
}else{
value?.append(apDate.appointmentDownloadModel!)
dict.updateValue(value!, forKey: apDate.appdate)
}
}
dict.forEach{map in
let appointmentDateModel = AppointmentDateModel(appointmentDate: map.key, entities:map.value)
tableValues.append(appointmentDateModel)
}
Модели:
struct AppointmentDownloadModel: Codable{
var appointmentModel: Appointment
var progress: Int = 0
var failedList: [Int: String] = [:]
var isFinished: Bool = false
}
struct DownloadEntity: Codable {
let id: Int
var appdate: Int64
var userId: Int
var dFirmId: Int
var appointmentId: Int
var appointmentDownloadModel: AppointmentDownloadModel?
}
struct AppointmentDateModel: Codable {
let appointmentDate:Int64
var entities:[AppointmentDownloadModel]
}