【问题标题】:Swift - Parse Check if PFFile is cachedSwift - 解析检查 PFFile 是否被缓存
【发布时间】:2017-04-03 14:24:36
【问题描述】:

考虑到我正在使用启用缓存的 PFImageViews,我想知道是否有办法确定图像是否已经下载。

总而言之,我想说:

if imageAlreadyDownloaded {
    ...
}
else {
    ...
}

有可能吗?

【问题讨论】:

  • 如果您打算使用它,请在开始实施之前阅读。于 2017 年 1 月 28 日关闭。blog.parse.com/announcements/moving-on..
  • @andyPaul 谢谢,但我知道...我忘了提,我有自己的 Parse Server.. ;-)

标签: ios swift caching parse-platform pfimageview


【解决方案1】:

所以,我终于找到了解决我自己问题的方法!每个 PFFile 都有一个名为“isDataAvailable”的布尔属性。

通过一些代码,我们可以得到以下解决方案:

let imageFile = file as? PFFile

if imageFile.isDataAvailable {
    ...
}
else {
    ...
}

完成了! ;-)

【讨论】:

    【解决方案2】:

    我认为您必须使用 PFImageView 和具有完成处理程序的 loadInBackground 方法推出自己的解决方案。

    类似:

    // Instance property on your UIViewController
    private var imageAlreadyDownloaded = false
    
    // Somewhere else in your UIViewController...
    imageView.loadInBackground() { 
        [unowned self] (image, error) in
    
        guard error == nil else {
            return
        }
        self.imageAlreadyDownloaded = true
    }
    

    【讨论】:

    • 在那种情况下,我认为这两种情况下都会下载图像,我想阻止这种情况。对吧?
    • 我的意图是,当您开始下载时,此代码将被调用一次。我不打算让loadInTheBackground 被调用两次。也就是说,您似乎找到了另一个好的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2015-12-29
    • 2015-12-14
    • 2012-11-29
    • 1970-01-01
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 2015-05-27
    相关资源
    最近更新 更多