Xcode 6.3 Parse SDK 1.7.1 PFTableViewCell Грешка има несъвместим тип

Моят код:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject) -> PFTableViewCell{

    var cell = tableView.dequeueReusableCellWithIdentifier("CustomCell") as!
        CustomTableViewCell!
    if cell == nil {
        cell = CustomTableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "CustomCell")
    }

    // Extract values from the PFObject to display in the table cell
    if let username = object["username"] as? String {
        cell.customUser.text = username
    }
    if let title = object["Title"] as? String {
        cell.customTitle.text = title
    }

    // Display image
    var initialThumbnail = UIImage(named: "Swarm_Bee.png")

    if let thumbnail = object["imageFile"] as? PFFile {

        thumbnail.getDataInBackgroundWithBlock{
            (imageData, error) -> Void in
            if error == nil {
                let image = UIImage(data: imageData!)
                cell.customImage.image = image
            }}
    }

    return cell

}

получава следната грешка

 overriding method with selector 'tableView:cellForRowAtIndexPath:object:' has incompatible type '(UITableView,NSIndexPath,PFObject) -> PFTableViewCell'

Потърсих всички грешки за съвместимост (премахване!). Друг пост имаше подобен проблем:

Parse SDK 1.7.1 не работи в Xcode 6.3

Но само тяхната грешка номер 3. Всички други проблеми в тази публикация бяха разгледани, но тази грешка остава. Някакви решения или препоръки къде да търся?


person Rob    schedule 01.05.2015    source източник
comment
Имам същия проблем. Разбрахте ли го някога?   -  person Clifton Labrum    schedule 06.05.2015
comment
Parse 1.7.2 е наличен, но не коригира този проблем.   -  person Clifton Labrum    schedule 06.05.2015


Отговори (1)


Разбрах го. Използвайте следната функция override:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> PFTableViewCell? { 
  //... 
}

Разликата е, че PFObject и PFTableViewCell са незадължителни.

person Clifton Labrum    schedule 05.05.2015
comment
Благодаря Клифтън! Това, което също открих, че работи е: override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -› PFTableViewCell { if let objects = objects as? [PFObject] { за обект в обекти { ... - person Rob; 07.05.2015