Как исправить '' не соответствует ожидаемому типу ошибки 'Decoder' 'после преобразования из Swift 3 в 4 - PullRequest
0 голосов
/ 07 ноября 2019

После преобразования моей кодовой базы из Swift 3 в 4 у меня появляется ошибка компилятора: «Тип аргумента« Результаты »не соответствует ожидаемому типу« Декодер »»

Я провел некоторый поиск, и он выглядитнапример, декодер - это что-то новое, добавленное в Swift 4. Я всегда использовал ObjectMapper ... который я могу захотеть перенести из долгосрочной перспективе, но в краткосрочной перспективе, есть ли простое исправление для этого экземпляра?

func recordWorkout(_ newWorkout: Workout) {
    let lastWorkout = exercise.workoutDiary.last // grab the last workout for later comparison

    let realm = try! Realm()
    try! realm.write {
        exercise.workoutDiary.append(newWorkout) // write the workout no matter what
    }

    if let secondToLastWorkout = lastWorkout { // only bother checking out of order if there is a last workout...
        if newWorkout.date < secondToLastWorkout.date { // ...and now look to see if they are out of order
            let sortedWorkoutDiary = List(from: exercise.workoutDiary.sorted(byKeyPath: "date")) // error: "Argument type 'Results<Workout>' does not conform to expected type 'Decoder'"
            try! realm.write {
                exercise.workoutDiary.removeAll()
                exercise.workoutDiary.append(objectsIn: sortedWorkoutDiary)
            }
        }
    }
}
...