2016-11-19 53 views
0

考慮到我使用PFImageViews,並啓用了緩存,我想知道是否有方法可以確定圖像是否已經被下載。Swift - Parse檢查PFFile是否被緩存

總而言之,我想說:

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

這可能嗎?

+0

如果您打算使用它,請在開始實施之前閱讀。關閉到2017年1月28日。http://blog.parse.com/announcements/moving-on/ .. – andyPaul

+0

@andyPaul謝謝你,但我知道...我忘了提及,我有我自己的Parse服務器。 .--) –

回答

0

我想你將不得不使用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 
} 
+0

在這種情況下,我認爲圖像會在兩種情況下下載,這是我想要阻止的。對吧? –

+0

我的意圖是,當您啓動下載時,此代碼將被調用一次。我不打算將'loadInTheBackground'調用兩次。這就是說,你似乎找到了另一個好的解決方案。 –

0

所以,我終於找到了解決我自己的問題!每個PFFile都有一個名爲「isDataAvailable」的布爾屬性。

隨着一些代碼,我們可以有以下解決方案:

let imageFile = file as? PFFile 

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

而且完成了! ;-)