ios - 在 Realm 中写入对象后调用完成 block

标签 ios swift realm

我正在使用 Realm,到目前为止我很喜欢它,但现在我正试图找到一种方法来了解对象何时写入 Realm。 假设我从 Realm 中删除对象:

func deleteObjects<T: Object>(objects: Results<T>)
{
     let realm = Realm()
     try! realm.write {
         realm.delete(objects)
     }
} 

是否有一些现有的方法可以让我知道这些对象何时从数据库中删除?像这样的东西:

func deleteObjects<T: Object>(objects: Results<T>)
{
     let realm = Realm()
     try! realm.write {
         realm.delete(objects, completion {
            print("Objects deleted")
         })
     }
} 

最佳答案

Realm.delete(_:) 是一个同步操作,所以当调用返回时对象已经被删除。在写入事务提交后(即,您传递给写入的 block 完成)并且它们的 Realm 刷新以获取更改(通过显式调用 Realm.refresh ),删除对其他线程可见,或通过在下一次运行循环迭代时发生的自动刷新)。

关于ios - 在 Realm 中写入对象后调用完成 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38154521/

相关文章:

ios - UITableView 中 UINavigationBar 的高度不变

android - 如何只保存RealmObject而不保存引用的对象

ios - AVPlayer 未使用 Swift3 播放文档目录中的音频

iOS swift 展开 View

ios - 如何将图像从我的应用程序分享到 Instagram

ios - 在 iOS Today 扩展中使用 Realm

android - 如何检查所有 Realm 实例是否已关闭

ios - 为什么此 iFrame 在 IOS 上没有响应?

ios - 禁用单个 ViewController 的后退导航

ios - RestKit CoreData 在单元测试期间挂起