删除结果类型(领域类型)的数组元素

时间:2018-11-30 06:30:21

标签: ios arrays swift realm

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

  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不起作用。那我该如何实现呢?

1 个答案:

答案 0 :(得分:1)

由于allMessagesResults<Message>,因此您需要从Realm中删除这些对象才能真正删除它们。

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