Удалить элементы массива типа Results (типа Realm) - PullRequest
0 голосов
/ 30 ноября 2018

Рассмотрим функцию, которая присваивает значение массиву следующим образом ...

  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 голосов
/ 30 ноября 2018

Поскольку allMessages является Results<Message>, вам необходимо удалить эти объекты из Царства, чтобы фактически удалить их.

let realm = // get a realm
try realm.write {
    realm.delete(allMessages)
}
// allMessages will automatically become empty at this point. 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...