小编bri*_*ncl的帖子

替换的 List<T> 对象在 Realm 中未保持一致

我有一个List<Workout>偶尔需要排序的对象(例如,如果用户添加了一个无序的锻炼),但我似乎无法让新的排序List<Workout>​​保持不变。我的代码在运行时就可以工作(即,它按排序显示在视图上),但是当我退出 ViewController 或重新启动应用程序时,我什么也看不到。没有什么是由于exercise.workoutDiary.removeAll()持久性造成的,但显然随后对 的分配exercise.workoutDiary = sortedWorkoutDiary没有持久性。有什么想法吗?

其他一切都很好。典型recordWorkout()情况是假设没有任何乱序输入的情况。因此,除了覆盖排序列表之外,几乎所有情况下持久化都有效。

更新发生在这里:

struct ExerciseDetailViewModel {

    private let exercise: Exercise!

    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 < …
Run Code Online (Sandbox Code Playgroud)

realm swift

1
推荐指数
1
解决办法
378
查看次数

标签 统计

realm ×1

swift ×1