2015-06-14 2 views
0

Я не понимаю, что происходит. У меня есть изображение, сохраненное как PFFile в Parse. Я вижу это, и я знаю, что он есть. Я хочу иметь его как образ ячейки. Остальная часть приведенного ниже кода отлично работает, и адреса памяти PFFile также печатаются. textLabel и detailTextLabel также прекрасны, но изображения не будут отображаться (даже если я удалю «loadInBackground»). Есть идеи?Parse - imageView as PFFile не загружается

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> PFTableViewCell? { 
    var cell = tableView.dequeueReusableCellWithIdentifier("Cell") as! PFTableViewCell! 
    if cell == nil { 
    cell = PFTableViewCell(style: .Subtitle, reuseIdentifier: "Cell") 
    } 

    if let name = object?["name"] as? String { 
     cell.textLabel?.text = name 
    } 

    if let artist = object?["artist"] as? String { 
     cell.detailTextLabel?.text = artist 
    } 

    if let artwork = object?["artwork"] as? PFFile { 
     println("we've got an artwork image \(artwork)") 
     //cell!.imageView!.image = UIImage(named: "placeholder.jpg") 
     cell.imageView?.file = artwork 
     cell.imageView?.loadInBackground() 
    } 

    return cell 
} 

ответ

1

Анализировать просто сохраняет ссылку на изображение в таблице, вам придется сделать еще один вызов асинхронной, чтобы получить сообщение .:

let artwork = object?["artwork"] as PFFile 
artwork.getDataInBackgroundWithBlock { 
    (imageData: NSData?, error: NSError?) -> Void in 
    if error == nil { 
    if let imageData = imageData { 
     let image = UIImage(data:imageData) 
    } 
    } 
} 
+0

Я думаю, что ваш код должен работать, но до сих пор не , Документ синтаксического анализа не рекомендует получать изображение в фоновом режиме. На самом деле, поскольку я использую PFQueryTableViewController, все, что мне нужно сделать, это установить «setImageKey» на «artwork», который я сделал, но он по-прежнему не загружает изображение. – user2747220

+0

Я удалил прототип ячейки из раскадровки, и это сработало. Кстати, мне не нужно было брать его в фоновом режиме. – user2747220

+1

Прохладный, я рад, что он работает :) Удачи вам в вашем приложении! – Icaro

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