Ios 如何异步加载图像

Ios 如何异步加载图像,ios,swift,jsqmessagesviewcontroller,Ios,Swift,Jsqmessagesviewcontroller,目前,这是我在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(cha

目前,这是我在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()
然而,正如您所预测的,在进入我的JSQMessagesViewController之前,我会被阻塞几秒钟。
我如何加载这些气泡并在气泡的中间有一个活动指示器,然后异步加载图像?

< P>我更喜欢使用翠鸟。相信我,很好

        let resource = ImageResource(downloadURL:URL(string: productsForSearch.result[indexPath.row].image_url )!,cacheKey: productsForSearch.result[indexPath.row].image_url )
        CollectionCell.imagesForSearch.kf.indicatorType = .activity //this is to make activity indicator
        CollectionCell.imagesForSearch.kf.setImage(with: resource)

我有同样的问题,你现在已经有了解决方案吗?我为我的邮件滚动添加了分页。试试看,让我知道它是否有用。那么,请尝试在后台加载它们,而不是在主线程中加载它们。那么,@Happiehappie你尝试过我的解决方案吗?