Я думаю, что у меня здесь действительно странная проблема. В некоторых из моих TableViews, когда я загружаю изображения из Parse, ячейки, у которых нет данных, иногда отображаются другие изображения.PFImageView в TableView Cell загружает неправильное изображение
У меня есть мой код, чтобы проверить наличие файла на Parse, и если есть изображение, PFImageView
загружает изображение в фоновом режиме для каждой ячейки.
Но если в базе данных нет изображения, то PFImageView
должен использовать локальное изображение, которое является заполнителем. Однако часто в моем PFTableView
ячейки без данных изображения принимают изображения из других ячеек. Кто-нибудь знает, почему? Или знаете, что исправить?
Вот код:
if business["businessImage"] as? PFFile != nil {
var file: PFFile = business["businessImage"] as PFFile
cell.businessPhoto.file = file
cell.businessPhoto.loadInBackground()
}
else {
cell.businessPhoto.image = UIImage(named: "placeholder user photo")
}
Это потому, что я использую loadInBackground()
вместо loadInBackgroundWithBlock()
?
Где бы я их реализовал? Прямо перед тем, как я верну ячейку в 'cellForRowAtIndexPath'? EDIT: Пробовал это, и он просто делает все изображения пустыми. – pbush25
В ответ на обновление: когда я пытаюсь реализовать этот метод с помощью класса 'PFTableViewCell', компилятор говорит, что я не могу переопределить метод из-за несовместимых типов. – pbush25
Да, это одно из возможных решений. Главное - сбросить ячейку перед ее повторным отображением. 'prepareForReuse' /' didEndDisplayingCel'l обычно используются для этого, но ничего не мешает вам сделать это в 'cellForRowAtIndexPath' – f3n1kc