2
В настоящее время это моя реализация в методе в viewDidLoad dateParameter = self.lastMessageDateКак загружать изображения асинхронно
for chat in self.realm.objects(ChatObject).filter("room_id == \(self.room.id)").sorted("dateTime", ascending: true) {
if chat.type == "GIFT" {
print(chat.gift)
let imageData = NSData(contentsOfURL: NSURL(string: chat.gift!.image)!)
//let photoItem = JSQPhotoMediaItem(image: UIImage(data: imageData!))
let photoItem = ChatImageJSQPhoto(image: UIImage(data: imageData!))
let photoMessage = JSQMessage(senderId: String(chat.sender!.id), senderDisplayName: chat.sender!.username, date: self.formatter.dateFromString(chat.dateTime), media: photoItem)
self.messages.append(photoMessage)
//then get the message if it exists
if chat.desc.characters.count > 0 {
self.addMessage(String(chat.sender!.id), senderName: chat.sender!.username, text: chat.desc, date: chat.dateTime)
}
} else {
if chat.desc.characters.count > 0 {
print(chat.sender?.username)
self.addMessage(String(chat.sender!.id), senderName: chat.sender!.username, text: chat.desc, date: chat.dateTime)
}
}
}
self.finishReceivingMessage()
Однако, как вы можете предсказать, я буду stucked в течение нескольких секунд, прежде чем в мой JSQMessagesViewController. Как я могу загрузить эти пузыри и иметь индикатор активности в середине пузыря, а затем загружать изображения асинхронно?
У меня есть эта же проблема, у вас уже есть решение? – AndaluZ
Я добавил разбивку на страницы для прокрутки моих сообщений. Попробуйте и сообщите мне, если это поможет. – Happiehappie
Попробуйте загрузить их в фоновом режиме вместо того, чтобы загружать их в основной поток – Happiehappie