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 - 检查 map 上的点是否位于叠加层内

ios - 使用解析连接两个表

swift - 根据以特定字符结尾的哈希键选择存储的值

swift - 如何检查 NSSound 是否在 Swift 中暂停

android - 如何在 Realm for Java 中将 RealmObject 序列化为 JSON?

java - .realm 文件中的 "Any"字段

ios - 在核心数据 swift 中使用 one -> may 关系保存数据集合

ios - swift ios - 如何从 AppDelegate 在 ViewController 中运行函数

android - Realm,在字符串列表中搜索

iphone - 以编程方式添加手势识别器