Swift Haneke只缓存UITableView的前三行中的图像

时间:2016-03-08 00:22:29

标签: swift swift2 haneke

在我TableViewCell我使用此方法从我的服务器检索URLS,然后我创建了一个视频缩略图,最后将其插入UIImageView

var URL: String? {
    didSet {

        if gotThumb == false {
            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), {
                let videoUrl = NSURL(string: Somelink )

                let asset = AVAsset(URL: videoUrl!)
                let assetImgGenerate = AVAssetImageGenerator(asset: asset)
                assetImgGenerate.appliesPreferredTrackTransform = true
                let time = CMTimeMake(asset.duration.value / 3, asset.duration.timescale)
                dispatch_async(dispatch_get_main_queue(), {
                    if let cgImage = try? assetImgGenerate.copyCGImageAtTime(time, actualTime: nil) {

                        self.thumbImageView.hnk_setImage(UIImage(CGImage: cgImage), key: "\(self.thumbImageView.tag)", placeholder: nil, format: nil, success: { (image) -> () in
                            print("Got Thumb")

                            self.thumbImageView.image = image
                            self.gotThumb = true
                        })
                    }
                })
            })
        } else {

            print("Already have an image")
        }
        print(URL!)
    }
}

正如我的标题所述。 Haneke只缓存由上述方法创建的前三个图像。发生的事情是,无论我ImageViews中有多少TableView,他们都会被前三张图片填充

我完全不知道如何解决这个问题。

0 个答案:

没有答案