Как я могу избежать принудительного разворачивания в этом?
Как я могу избежать распаковки кода ниже?
self.array = self.array.sorted(by: { Date(timeIntervalSince1970: ($0?.event?.dateRecorded)!) > Date(timeIntervalSince1970: ($1?.event?.dateRecorded)!) })
1 ответ
Решение
Используйте ноль-коалесцирующий, чтобы заменить nil
отметка времени с некоторым значением по умолчанию, например отметка времени в далеком прошлом:
let past = -TimeInterval.greatestFiniteMagnitude
self.array.sort(by: {
$0.event?.dateRecorded ?? past > $1.event?.dateRecorded ?? past
})
Как упоминалось выше, нет необходимости сравнивать временные метки с Date
значения, числовые метки времени можно сравнивать напрямую.