【问题标题】:Remove elements of an array of type Results (of Realm type)删除 Results 类型数组的元素(Realm 类型)
【发布时间】:2018-11-30 06:30:20
【问题描述】:

考虑一个像这样为数组赋值的函数......

  fileprivate func getMessages() {
    if let myId = recipientGrp?.id,
      let array = realm()?.objects(TheMessage.self)
        .filter("ownerId = '\(myId)' || receiverId = '\(myId)'")
        .sorted(byKeyPath: "id", ascending: true) {
      allMessages = array
    }
  }

这里,allMessages 是添加值的数组。 allMessages 也是这样声明的......

var allMessages: Results<TheMessage>?

我想要实现的是我想删除数组allMessages 的所有元素。 allMessages.removeAll 不起作用。那么我该如何实现呢?

【问题讨论】:

  • 您是否要从领域中删除查询结果?我是不是误会了什么?

标签: ios arrays swift realm


【解决方案1】:

因为allMessagesResults&lt;Message&gt;,你需要从Realm 中移除这些对象才能真正移除它们。

let realm = // get a realm
try realm.write {
    realm.delete(allMessages)
}
// allMessages will automatically become empty at this point. 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多