Dennis vd Eijnde
Dennis vd Eijnde

Reputation: 303

Ambiguous reference to member 'tableView(_:numberOfRowsInSection:)' Why this error?

Here is my code in which the error appears: The error is in line 3 'if let indexpath...'

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "show Detail" {
        if let indexPath = self.tableView.indexPathForSelectedRow {
            let taakDetail : Taak = taken[(indexPath as NSIndexPath).row]
            let controller = (segue.destination as! UINavigationController).topViewController as! DetailsViewController
            controller.selectedTaak = taakDetail
        }
    }

I can't find out what is ambiguous about this. The code to which it refers to is:

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return taken.count
}

Upvotes: 10

Views: 10214

Answers (1)

Rob
Rob

Reputation: 437392

It's not finding tableView, and is therefore getting thrown off, assuming you somehow meant to reference this method (which you don't, obviously).

Note, your outlet is tableview, not tableView. Properties are case sensitive.

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "show Detail" {
        if let indexPath = self.tableview.indexPathForSelectedRow {
            let taakDetail : Taak = taken[indexPath.row]
            let controller = (segue.destination as! UINavigationController).topViewController as! DetailsViewController
            controller.selectedTaak = taakDetail
        }
    }
}

Upvotes: 11

Related Questions