从特定的Realm对象Swift中删除所有数据

发布时间:2020-07-05 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了从特定的Realm对象Swift中删除所有数据脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我对我的问题太深入之前我的目标,可能会影响你的答案,是删除对象数据,如果它不再在云中.

所以如果我有一个数组[“一”,“二”,“三”]

然后在我的服务器我删除“两个”

我想要我的境界来更新这个变化.

我认为最好的方法是删除特定对象中的所有数据,然后调用我的REST API来下载新的数据.如果有更好的方法,请让我知道.

好的,这是我的问题.

我有一个对象通知()

每次调用我的REST API之前,下载我运行的任何东西:

let realm = Realm()
let notifications = Notifications()
realm.beginWrite()
realm.delete(notifications)
realm.commitWrite()

运行后我得到这个错误:只能从它所属的领域删除一个对象.

所以我试过这样的东西:

for notification in notifications {
realm.delete(notification)
}
realm.commitWrite()

我在xcode中得到的错误是:“类型通知不符合协议”SequenceType“

不太确定从哪里走.

只是想弄清境界.全新的

注意:realm.deleteAll()的工作原理,但我不希望我的所有领域被删除,只是某些对象

你在找:
let realm = Realm()
let deletedValue = "two"
realm.write {
  let deletedNotifications = realm.objects(Notifications).filter("value == %@",deletedValue)
  realm.delete(deletedNotifications)
}

或者也许这样

let realm = Realm()
let serverValues = ["one","three"]
realm.write {
  realm.delete(realm.objects(Notifications)) // deletes all 'Notifications' objects from the realm
  for value in serverValues {
    let notification = Notifications()
    notification.value = value
    realm.add(notification)
  }
}

虽然理想情况下,您将在通知中设置主键,以便您可以简单地更新现有对象,而不是采取极端的方法来将所有本地对象简单地重新创建(或几乎).

总结

以上是脚本之家为你收集整理的从特定的Realm对象Swift中删除所有数据全部内容,希望文章能够帮你解决从特定的Realm对象Swift中删除所有数据所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入脚本之家官方QQ群:1065694478
脚本之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ”
精选程序员所需精品干货内容!