У меня есть массив дат, чтобы пойти вместе с двумя другими массивами строк.Я пытаюсь выяснить, как переупорядочить массив дат с самых последних до самых старых.Кроме того, при изменении порядка массива дат два других массива необходимо изменить в том же порядке, что и массивы дат.
Вот массивы
[2019-01-15 05:00:00 +0000, 2019-02-07 05:00:00 +0000, 2019-01-22 05:00:00 +0000, 2019-01-09 05:00:00 +0000, 2018-12-25 05:00:00 +0000, 2019-02-06 05:00:00 +0000, 2019-01-28 05:00:00 +0000, 2019-01-18 05:00:00 +0000, 2019-01-21 05:00:00 +0000, 2019-01-31 05:00:00 +0000, 2019-01-14 05:00:00 +0000, 2018-12-20 05:00:00 +0000, 2019-01-16 05:00:00 +0000, 2019-01-30 05:00:00 +0000, 2018-12-20 05:00:00 +0000, 2018-12-25 05:00:00 +0000, 2018-12-21 05:00:00 +0000, 2019-01-29 05:00:00 +0000, 2018-12-24 05:00:00 +0000, 2019-01-15 05:00:00 +0000, 2019-01-25 05:00:00 +0000, 2019-01-11 05:00:00 +0000, 2019-01-14 05:00:00 +0000, 2018-12-19 05:00:00 +0000, 2018-12-25 05:00:00 +0000, 2019-01-25 05:00:00 +0000, 2019-01-30 05:00:00 +0000, 2019-01-08 05:00:00 +0000, 2019-02-04 05:00:00 +0000, 2019-01-14 05:00:00 +0000, 2019-02-08 05:00:00 +0000, 2018-12-21 05:00:00 +0000, 2019-01-22 05:00:00 +0000, 2019-02-06 05:00:00 +0000, 2019-01-24 05:00:00 +0000, 2019-01-22 05:00:00 +0000, 2018-12-19 05:00:00 +0000, 2019-02-05 05:00:00 +0000, 2019-01-21 05:00:00 +0000, 2019-01-08 05:00:00 +0000, 2019-01-28 05:00:00 +0000, 2019-01-23 05:00:00 +0000, 2018-12-24 05:00:00 +0000, 2019-01-24 05:00:00 +0000, 2019-02-11 05:00:00 +0000, 2019-02-08 05:00:00 +0000, 2019-01-16 05:00:00 +0000, 2019-02-05 05:00:00 +0000, 2019-01-31 05:00:00 +0000, 2019-01-21 05:00:00 +0000, 2019-02-01 05:00:00 +0000, 2019-01-18 05:00:00 +0000, 2019-01-11 05:00:00 +0000, 2019-02-06 05:00:00 +0000, 2019-01-17 05:00:00 +0000, 2019-01-16 05:00:00 +0000, 2019-02-08 05:00:00 +0000, 2018-12-24 05:00:00 +0000, 2019-01-09 05:00:00 +0000, 2019-01-08 05:00:00 +0000, 2019-02-01 05:00:00 +0000, 2019-02-07 05:00:00 +0000, 2019-01-29 05:00:00 +0000, 2019-01-17 05:00:00 +0000, 2019-01-25 05:00:00 +0000, 2019-01-18 05:00:00 +0000, 2018-12-19 05:00:00 +0000, 2019-01-23 05:00:00 +0000, 2019-02-04 05:00:00 +0000, 2019-01-23 05:00:00 +0000, 2019-02-05 05:00:00 +0000, 2019-01-24 05:00:00 +0000, 2019-02-04 05:00:00 +0000, 2019-01-17 05:00:00 +0000, 2019-01-10 05:00:00 +0000, 2019-02-11 05:00:00 +0000, 2019-01-28 05:00:00 +0000, 2019-02-11 05:00:00 +0000, 2019-01-29 05:00:00 +0000, 2019-02-07 05:00:00 +0000, 2019-01-30 05:00:00 +0000, 2019-01-11 05:00:00 +0000, 2019-01-31 05:00:00 +0000, 2018-12-20 05:00:00 +0000, 2019-01-10 05:00:00 +0000, 2019-01-10 05:00:00 +0000, 2019-02-01 05:00:00 +0000, 2019-01-09 05:00:00 +0000, 2018-12-21 05:00:00 +0000, 2019-01-15 05:00:00 +0000, 2019-01-15 05:00:00 +0000, 2019-02-07 05:00:00 +0000, 2019-01-22 05:00:00 +0000, 2019-01-09 05:00:00 +0000, 2018-12-25 05:00:00 +0000, 2019-02-06 05:00:00 +0000, 2019-01-28 05:00:00 +0000, 2019-01-18 05:00:00 +0000, 2019-01-21 05:00:00 +0000, 2019-01-31 05:00:00 +0000, 2019-01-14 05:00:00 +0000, 2018-12-20 05:00:00 +0000, 2019-01-16 05:00:00 +0000, 2019-01-30 05:00:00 +0000, 2018-12-20 05:00:00 +0000, 2018-12-25 05:00:00 +0000, 2018-12-21 05:00:00 +0000, 2019-01-29 05:00:00 +0000, 2018-12-24 05:00:00 +0000, 2019-01-15 05:00:00 +0000, 2019-01-25 05:00:00 +0000, 2019-01-11 05:00:00 +0000, 2019-01-14 05:00:00 +0000, 2018-12-19 05:00:00 +0000, 2018-12-25 05:00:00 +0000, 2019-01-25 05:00:00 +0000, 2019-01-30 05:00:00 +0000, 2019-01-08 05:00:00 +0000, 2019-02-04 05:00:00 +0000, 2019-01-14 05:00:00 +0000, 2019-02-08 05:00:00 +0000, 2018-12-21 05:00:00 +0000, 2019-01-22 05:00:00 +0000, 2019-02-06 05:00:00 +0000, 2019-01-24 05:00:00 +0000, 2019-01-22 05:00:00 +0000, 2018-12-19 05:00:00 +0000, 2019-02-05 05:00:00 +0000, 2019-01-21 05:00:00 +0000, 2019-01-08 05:00:00 +0000, 2019-01-28 05:00:00 +0000, 2019-01-23 05:00:00 +0000, 2018-12-24 05:00:00 +0000, 2019-01-24 05:00:00 +0000, 2019-02-11 05:00:00 +0000, 2019-02-08 05:00:00 +0000, 2019-01-16 05:00:00 +0000, 2019-02-05 05:00:00 +0000, 2019-01-31 05:00:00 +0000, 2019-01-21 05:00:00 +0000, 2019-02-01 05:00:00 +0000, 2019-01-18 05:00:00 +0000, 2019-01-11 05:00:00 +0000, 2019-02-06 05:00:00 +0000, 2019-01-17 05:00:00 +0000, 2019-01-16 05:00:00 +0000, 2019-02-08 05:00:00 +0000, 2018-12-24 05:00:00 +0000, 2019-01-09 05:00:00 +0000, 2019-01-08 05:00:00 +0000, 2019-02-01 05:00:00 +0000, 2019-02-07 05:00:00 +0000, 2019-01-29 05:00:00 +0000, 2019-01-17 05:00:00 +0000, 2019-01-25 05:00:00 +0000, 2019-01-18 05:00:00 +0000, 2018-12-19 05:00:00 +0000, 2019-01-23 05:00:00 +0000, 2019-02-04 05:00:00 +0000, 2019-01-23 05:00:00 +0000, 2019-02-05 05:00:00 +0000, 2019-01-24 05:00:00 +0000, 2019-02-04 05:00:00 +0000, 2019-01-17 05:00:00 +0000, 2019-01-10 05:00:00 +0000, 2019-02-11 05:00:00 +0000, 2019-01-28 05:00:00 +0000, 2019-02-11 05:00:00 +0000, 2019-01-29 05:00:00 +0000, 2019-02-07 05:00:00 +0000, 2019-01-30 05:00:00 +0000, 2019-01-11 05:00:00 +0000, 2019-01-31 05:00:00 +0000, 2018-12-20 05:00:00 +0000, 2019-01-10 05:00:00 +0000, 2019-01-10 05:00:00 +0000, 2019-02-01 05:00:00 +0000, 2019-01-09 05:00:00 +0000, 2018-12-21 05:00:00 +0000, 2019-01-15 05:00:00 +0000]
["5.2 hrs", "5.02 hrs", "5.77 hrs", "6.72 hrs", "5.88 hrs", "6.75 hrs", "6.42 hrs", "6.08 hrs", "6.93 hrs", "6.75 hrs", "6.92 hrs", "6.75 hrs", "6.6 hrs", "6.75 hrs", "6.75 hrs", "5.88 hrs", "6.27 hrs", "6.32 hrs", "4.52 hrs", "5.2 hrs", "6.13 hrs", "6.38 hrs", "6.92 hrs", "6.92 hrs", "5.88 hrs", "6.13 hrs", "6.75 hrs", "6.25 hrs", "6.07 hrs", "6.92 hrs", "7.2 hrs", "6.27 hrs", "5.77 hrs", "6.75 hrs", "6.0 hrs", "5.77 hrs", "6.92 hrs", "6.37 hrs", "6.93 hrs", "6.25 hrs", "6.42 hrs", "3.17 hrs", "4.52 hrs", "6.0 hrs", "6.8 hrs", "7.2 hrs", "6.6 hrs", "6.37 hrs", "6.75 hrs", "6.93 hrs", "6.42 hrs", "6.08 hrs", "6.38 hrs", "6.75 hrs", "6.18 hrs", "6.6 hrs", "7.2 hrs", "4.52 hrs", "6.72 hrs", "6.25 hrs", "6.42 hrs", "5.02 hrs", "6.32 hrs", "6.18 hrs", "6.13 hrs", "6.08 hrs", "6.92 hrs", "3.17 hrs", "6.07 hrs", "3.17 hrs", "6.37 hrs", "6.0 hrs", "6.07 hrs", "6.18 hrs", "6.55 hrs", "6.8 hrs", "6.42 hrs", "6.8 hrs", "6.32 hrs", "5.02 hrs", "6.75 hrs", "6.38 hrs", "6.75 hrs", "6.75 hrs", "6.55 hrs", "6.55 hrs", "6.42 hrs", "6.72 hrs", "6.27 hrs", "5.2 hrs", "5.2 hrs", "5.02 hrs", "5.77 hrs", "6.72 hrs", "5.88 hrs", "6.75 hrs", "6.42 hrs", "6.08 hrs", "6.93 hrs", "6.75 hrs", "6.92 hrs", "6.75 hrs", "6.6 hrs", "6.75 hrs", "6.75 hrs", "5.88 hrs", "6.27 hrs", "6.32 hrs", "4.52 hrs", "5.2 hrs", "6.13 hrs", "6.38 hrs", "6.92 hrs", "6.92 hrs", "5.88 hrs", "6.13 hrs", "6.75 hrs", "6.25 hrs", "6.07 hrs", "6.92 hrs", "7.2 hrs", "6.27 hrs", "5.77 hrs", "6.75 hrs", "6.0 hrs", "5.77 hrs", "6.92 hrs", "6.37 hrs", "6.93 hrs", "6.25 hrs", "6.42 hrs", "3.17 hrs", "4.52 hrs", "6.0 hrs", "6.8 hrs", "7.2 hrs", "6.6 hrs", "6.37 hrs", "6.75 hrs", "6.93 hrs", "6.42 hrs", "6.08 hrs", "6.38 hrs", "6.75 hrs", "6.18 hrs", "6.6 hrs", "7.2 hrs", "4.52 hrs", "6.72 hrs", "6.25 hrs", "6.42 hrs", "5.02 hrs", "6.32 hrs", "6.18 hrs", "6.13 hrs", "6.08 hrs", "6.92 hrs", "3.17 hrs", "6.07 hrs", "3.17 hrs", "6.37 hrs", "6.0 hrs", "6.07 hrs", "6.18 hrs", "6.55 hrs", "6.8 hrs", "6.42 hrs", "6.8 hrs", "6.32 hrs", "5.02 hrs", "6.75 hrs", "6.38 hrs", "6.75 hrs", "6.75 hrs", "6.55 hrs", "6.55 hrs", "6.42 hrs", "6.72 hrs", "6.27 hrs", "5.2 hrs"]
["06:45 AM", "05:33 AM", "07:10 AM", "07:19 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:00 AM", "07:41 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:00 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:00 AM", "07:10 AM", "06:45 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:00 AM", "07:10 AM", "06:50 AM", "07:10 AM", "07:20 AM", "07:10 AM", "07:10 AM", "07:10 AM", "06:45 AM", "07:10 AM", "07:10 AM", "06:50 AM", "07:41 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:10 AM", "06:45 AM", "07:24 AM", "07:20 AM", "07:10 AM", "06:50 AM", "07:10 AM", "07:41 AM", "06:50 AM", "07:00 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:20 AM", "07:10 AM", "07:19 AM", "07:10 AM", "06:50 AM", "05:33 AM", "07:00 AM", "07:10 AM", "07:10 AM", "07:00 AM", "07:10 AM", "07:10 AM", "06:50 AM", "07:10 AM", "06:50 AM", "06:45 AM", "06:50 AM", "07:10 AM", "07:10 AM", "07:24 AM", "07:10 AM", "07:24 AM", "07:00 AM", "05:33 AM", "07:00 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:10 AM", "06:50 AM", "07:19 AM", "07:10 AM", "06:45 AM", "06:45 AM", "05:33 AM", "07:10 AM", "07:19 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:00 AM", "07:41 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:00 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:00 AM", "07:10 AM", "06:45 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:00 AM", "07:10 AM", "06:50 AM", "07:10 AM", "07:20 AM", "07:10 AM", "07:10 AM", "07:10 AM", "06:45 AM", "07:10 AM", "07:10 AM", "06:50 AM", "07:41 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:10 AM", "06:45 AM", "07:24 AM", "07:20 AM", "07:10 AM", "06:50 AM", "07:10 AM", "07:41 AM", "06:50 AM", "07:00 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:20 AM", "07:10 AM", "07:19 AM", "07:10 AM", "06:50 AM", "05:33 AM", "07:00 AM", "07:10 AM", "07:10 AM", "07:00 AM", "07:10 AM", "07:10 AM", "06:50 AM", "07:10 AM", "06:50 AM", "06:45 AM", "06:50 AM", "07:10 AM", "07:10 AM", "07:24 AM", "07:10 AM", "07:24 AM", "07:00 AM", "05:33 AM", "07:00 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:10 AM", "07:10 AM", "06:50 AM", "07:19 AM", "07:10 AM", "06:45 AM"]
Дневной класс
class Day {
var date: Date
var sleep: String
var timeUploaded: String
init(date: Date, sleep: String, timeUploaded: String) {
self.date = date
self.sleep = sleep
self.timeUploaded = timeUploaded
}
}
Вот код для чтения данных из базы данных и помещения их в объект
var days = [Day]()
var dates: [Date] = []
var sleeps: [String] = []
var timeUploadeds: [String] = []
func readSleepAnalysis(){
let userID = Auth.auth().currentUser?.uid
self.ref.child("Patient").child(userID!).child("Sleep Analysis").observeSingleEvent(of: .value) { (snapshot) in
guard let days = snapshot.value as? [String: Any] else { return }
for (_,value) in days.enumerated() {
guard let dayDict = value.value as? [String: String] else { return }
let date = dayDict["Date"] ?? ""
let sleep = dayDict["Sleep"] ?? ""
let timeUploaded = dayDict["Time Uploaded"] ?? ""
let isoDate = date
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM-dd-yyyy"
dateFormatter.locale = Locale(identifier: "en_US_POSIX") // set locale to reliable US_POSIX
let dated = dateFormatter.date(from:isoDate)!
let calendar = Calendar.current
let components = calendar.dateComponents([.month, .day, .year], from: dated)
let finalDate = calendar.date(from:components)
print(finalDate)
let day = Day(date: finalDate!, sleep: sleep, timeUploaded: timeUploaded)
self.days.append(day)
self.dates.append(finalDate!)
self.sleeps.append(sleep)
self.timeUploadeds.append(timeUploaded)
}
print(days)
}
}