У меня есть набор данных, содержащий сообщения от всех пользователей a) имя пользователя b) рисунок профиля пользователя c) текст сообщения d) время сообщения
Так что для моего просмотра таблицы я хочу найти сообщения с последним сообщением в каждой ячейке,Каждая ячейка имеет свое имя пользователя / pro pic.
На данный момент у меня есть следующий код:
Variable:
var messagersArray: Array = ["Matt", "Lisa"]
ViewDidLoad:
func messagesQuery() {
for messagers in messagersArray {
let messagesQuery = PFQuery(className: "Messages")
messagesQuery.whereKey("sender", equalTo: messagers)
messagesQuery.whereKey("recipient", equalTo: PFUser.current()?.username)
messagesQuery.order(byDescending: "CreatedAt")
messagesQuery.limit = 1
messagesQuery.findObjectsInBackground (block: { (objects: [PFObject]?, error: Error?) in
if let objects = objects {
for object in objects {
print("got messages")
print(object["messageText"])
print(object["username"])
}
}
})
}
}
Хорошо, так что это возвращает два сообщения по одному от каждого пользователя. Отлично. Мне также нужно возвращать сообщения, отправленные из PFUser и полученные другими ... Но что более важно, я хочу сделать так, чтобы messagersArray содержал только одно из каждого отправленного / полученного имени пользователя. Я предполагаю, что мне нужно будет сделать дополнительный запрос до вызова выше. Мой текущий массив является статическим текстом. Какова логика для этого?