Ура быстро закончилось!!!
Пришло осознание проблемы.
Вот такой фокус не годится:
let predicate1 = NSPredicate(format: “senderId = %@ AND recipientId = %@ AND objectIdOrder = %@”, (MyUser.current()?.objectId)!,recipientId!,objectIdOrder!)
let predicate2 = NSPredicate(format: “senderId = %@ AND recipientId = %@ AND objectIdOrder = %@”,recipientId!, (MyUser.current()?.objectId)!,objectIdOrder!)
let query1 = PFQuery(className: "Message", predicate: predicate1)
query1.limit = 500
let query2 = PFQuery(className: "Message", predicate: predicate2)
query2.limit = 500
let resultQuery = PFQuery.orQuery(withSubqueries: [query1,query2])
resultQuery.addAscendingOrder("createdAt")
resultQuery.limit = 1000
поскольку постольку использовать OR queryes и limit нельзя (ну бывает, что поделаешь).
Что же делать?
Выполнять два запроса отдельно, собирать по три массива:
messageArray и message2Array
senderArray и sender2Array
createdArray и created2Array
Затем массивы объединяем, добавляем массив словарей и сортируем по времени.
Итого получаем упорядоченный массив словарей по времени отправки сообщения.
Это можем выводить.
Внимание вопрос: это нормальное решение или костыль?