ios - 在 Realm 对象中交换元素

标签 ios swift realm

这是我想要在 Realm 中交换子对象(起点和终点)的代码:

class TrainSearchOptions: Object {
    dynamic var origin: Station?
    dynamic var destination: Station?
    dynamic var date: Date?

    func swapPlaces() {
        guard origin != nil && destination != nil else {
            fatalError()
        }

        swap(&origin!, &destination!)
    }
}

但这会崩溃。有什么想法吗?

最佳答案

您需要在 Realm 写入事务中执行此操作。

do {
       try realm.write {
           swap(&origin!, &destination!)
       }
   } catch let error as NSError {
       print(error)
   }
}

关于ios - 在 Realm 对象中交换元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42086733/

相关文章:

ios - 传递数据 - Swift

swift - 获取 ARKit View 的屏幕截图

ios - 尝试快速更新 Realm 对象时获取 SIGABRT

javascript - Realm 不会在 React native 上返回异常

swift - 将 Swift 用于 Mac 应用程序的优缺点是什么?

ios - 预填充的 Realm 不会在第一次启动时被复制

ios - UITableViewCell addTarget 中的按钮不起作用

ios - iPhone X 上的 iOS 12 是否在 Metal 之上渲染 OpenGL ES?有什么办法可以避免吗?

ios - 更改 UIProgressbar 的高度并给出边界和角半径

ios - Watchkit 应用程序在安装期间显示错误 - WatchKit 应用程序具有无效的 stub 可执行文件