2016-11-01 3 views
0

У меня есть функция updateCell, которую я вызываю в функции tableView.Невозможно преобразовать PFFile в UIImage, используя getDataInBackgroundWithBlock

Я пытаюсь обновить ячейку и преобразовать PFFile в UIImage, но я получаю сообщение об ошибке Cannot convert value of type '(NSData?, NSError?) -> Void' to expected argument type 'PFDataResultBlock?'

Confused, как я получил это из документации Parse, и я не могу за жизнь моей находки решение или где я ошибаюсь. Вот моя функция updateUI.

func updateUI(venue: Venue) { 
     venueLabel.text = venue.name 
     let venueImageFile = venue.image 

     venueImageFile.getDataInBackgroundWithBlock { 
      (imageData: NSData?, error: NSError?) -> Void in 
      if error == nil { 
       if let imageData = imageData { 
        let image = UIImage(data:imageData) 
       } 
      } 
     } 
    } 

и вот класс Место

class Venue { 

    private var _name: String! 
    private var _location: String! 
    private var _image: PFFile! 

    var name: String { 
     return _name 
    } 

    var location: String { 
     return _location 
    } 

    var image: PFFile { 
     return _image 
    } 

    init(name: String, location: String, image: PFFile) { 
     self._name = name 
     self._location = location 
     self._image = image 
    } 
} 

Любая помощь очень ценится. Сейчас я не знаю, куда обратиться.

ответ

0

В принципе я не мог найти решение с помощью getDataInBackgroundWithBlock, так что я в конечном итоге установка Синтаксическая UI, который объясняет это прекрасно ...

PFImageView

Многие приложения должны отображать изображения, сохраненные в облако Парса как PFFiles. Однако для загрузки удаленных изображений с помощью встроенного UIImageView используется , в котором написано много строк кода шаблона. PFImageView упрощает задачу , абстрагируя эти части.

После того, как я импортировал это в моей стремительной файл, все, что я должен был сделать это:

@IBOutlet weak var venueImage: PFImageView! // Make sure it's this class in the storyboard. It's default would be UIImageView. 

func updateUI(venue: Venue) { 
    venueLabel.text = venue.name 

    venueImage.file = venue.image 
    venueImage.loadInBackground() 
} 

:)

 Смежные вопросы

  • Нет связанных вопросов^_^