我在连接到UITableViewViewController中使用了TodayViewController。我想使用我的Parse数据库中的数据加载到TableView中。

这是我的TodayViewController课:

import UIKit
class TodayViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet var InfoTableView: UITableView?

override func viewDidLoad() {
    super.viewDidLoad()

    InfoTableView!.delegate = self
    InfoTableView!.dataSource = self
    loadParseData()

    // Do any additional setup after loading the view.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


func loadParseData() {

    let query : PFQuery = PFQuery(className: "News")
    query.orderByDescending("Headline")

}


func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 10
}

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

    //Extract values from the PFObject to display in the table cell

    if let Headline = object?["Headline"] as? String {
        cell?.textLabel?.text = Headline
    }
    if let Subtitle = object?["SubtitleText"] as? String {
        cell?.detailTextLabel?.text = Subtitle
    }

    return cell
}


这个错误出现了:

ios - 不符合UITableViewDataSource-解析应用-LMLPHP

我该如何解决这个问题?整体结构是否有错误?如果需要,请提供更多信息。

最佳答案

是的,您不确定协议UITableViewDataSource,因为您没有必需的方法

func tableView(_ tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell


因此,您需要继承PFQueryTableViewController才能使用所需的方法

class TodayViewController: PFQueryTableViewController {
...
}

关于ios - 不符合UITableViewDataSource-解析应用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33210422/

10-12 06:10