Swift - Parse Проверьте, кэшируется ли PFFile

Учитывая, что я использую PFImageViews с включенным кэшированием, я хотел бы знать, есть ли способ определить, было ли уже загружено изображение или нет.

В общем, я хочу сказать:

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

Является ли это возможным?

2 ответа

Итак, я наконец-то нашел решение своей проблемы! Каждый файл PFFile имеет логическое свойство с именем "isDataAvailable".

С небольшим количеством кода у нас может быть следующее решение:

let imageFile = file as? PFFile

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

И сделано!;-)

Я думаю, вам придется развернуть свое собственное решение, используя 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
}
Другие вопросы по тегам