Ich bin neu beim Programmieren und habe Probleme beim Abrufen von Bildern aus Parse und beim Einfügen in die Bildansicht. Ich habe versucht, 'getDataInBackgroundWithBlock' aufzurufen, aber die automatische Vervollständigung zeigt es nicht an.Kann keinen Wert vom Typ UIImage zuweisen? PFFile eingeben?
class ListOfCategoriesViewController: UIViewController {
@IBOutlet weak var tableView: UITableView!
var categories: [DisplayCategory] = []
override func viewDidLoad() {
super.viewDidLoad()
// let queryCategories = DisplayCategory.query()
let titleQuery = PFQuery(className: "Category")
titleQuery.whereKeyExists("title")
let imageQuery = PFQuery(className: "Category")
imageQuery.whereKeyExists("imageCategory")
let query = PFQuery.orQueryWithSubqueries ([titleQuery, imageQuery])
query.findObjectsInBackgroundWithBlock {(result: [PFObject]?, error: NSError?) -> Void in
self.categories = result as? [DisplayCategory] ?? []
for category in self.categories {
do {
let data = try category.imageCategory?.getData()
category.imageCategory = UIImage(data: data!, scale:1.0) // compiler error here
} catch {
print("could not get image")
}
}
self.tableView.reloadData()
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
extension ListOfCategoriesViewController: UITableViewDataSource {
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return categories.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("CategoryCell") as! CategoryTableViewCell
cell.categoryImageView.image = categories[indexPath.row].imageCategory //compiler error here
return cell
}
}
DisplayCategory Klasse sieht wie folgt aus. Die Idee ist, eine Tabellenansichtszelle mit Text und Bild von Parse anzuzeigen, also dachte ich, es wäre die beste Option, um eine neue Klasse für die Flexibilität anstatt für das Wörterbuch zu erstellen.
import Foundation
import Parse
class DisplayCategory: PFObject, PFSubclassing {
@NSManaged var imageCategory: PFFile?
@NSManaged var title: String?
static func parseClassName() -> String {
return "Category"
}
override init() {
super.init()
}
override class func initialize() {
var onceToken : dispatch_once_t = 0;
dispatch_once(&onceToken) {
self.registerSubclass()
}
}
}
Added DisplayCategory. Würde mich wirklich freuen, wenn Sie es sich ansehen können. Vielen Dank! –