Justin
Justin

Reputation: 243

cast value of type 'UITableViewCell' to Custom Cell

I usually never have a problem with this step, but for some reason when I re set up my storyboard now I have an issue with this part of my code:

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

    let cell = tableView.dequeueReusableCellWithIdentifier("Cell") as! UITableViewCell

    (cell as! TableViewCell).usernameLabel.text = friendsArray[indexPath.row] as String


    return cell
}

I have done all of the obvious stuff like making sure the cell identifier is "Cell".

My error is this:

Could not cast value of type 'UITableViewCell' (0x1094ada18) to 'YOpub.TableViewCell' (0x106620410).

EDIT: Problem was I had self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "Cell") in my didLoad function. After removing this line my code worked again.

Upvotes: 3

Views: 9646

Answers (2)

matt
matt

Reputation: 535168

  • You may have forgotten to tell the storyboard that this cell is a TableViewCell. Select the prototype cell and set the Custom Class in the Identity inspector.

  • You may have called registerClass:forCellReuseIdentifier:. If so, delete that call; it actually prevents us from getting the cell from the storyboard.

  • You are calling tableView.dequeueReusableCellWithIdentifier. That is a big mistake. You should call tableView.dequeueReusableCellWithIdentifier:forIndexPath:.

Upvotes: 12

Vijayvir Sing Pantlia
Vijayvir Sing Pantlia

Reputation: 689

One of the reason,May be in Identity inspector module is different then your project name . enter image description here

Upvotes: 1

Related Questions