Ios – This class is not key value coding-compliant for the key…why

ioskey-value-observingswiftuitableview

I've linked output from the IB to the code, as shown below.

class DiaryTableViewCell: UITableViewCell {
    @IBOutlet weak var TitleLabel: UILabel!
    @IBOutlet weak var SubTitleLabel: UILabel!
    @IBOutlet weak var leftImageView: UIImageView!
    @IBOutlet weak var rightImageView: UIImageView!
}

Here, I'm registering the class:

override func viewDidLoad() {
   self.title = "My Diary"
   cellNib = UINib(nibName: "TableViewCells", bundle: nil)
   tableView.registerClass(DiaryTableViewCell.classForCoder(), forCellReuseIdentifier: kCellIdentifier)
}

enter image description here

enter image description here

But I keep getting the following runtime error:

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '…setValue:forUndefinedKey:]: this class is not key value
coding-compliant for the key SubTitleLabel.'

From within the following code:

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

var cell = tableView.dequeueReusableCellWithIdentifier(kCellIdentifier) as DiaryTableViewCell?

if (cell == nil) {
    tableView.registerClass(DiaryTableViewCell.classForCoder(), forCellReuseIdentifier: kCellIdentifier)
    cell = cellNib?.instantiateWithOwner(self, options: nil)[0] as? DiaryTableViewCell
                cell?.selectionStyle = .None
}

if (cell != nil) {
    println("\(x++)) Inside cell")
    cell!.TitleLabel.text = "Hello"
    cell!.SubTitleLabel.text = "World"
}

return cell!
}

Specifically, it's happening here:

cell = cellNib?.instantiateWithOwner(self, options: nil)[0] as? DiaryTableViewCell

Question: How am I violating the key value coding-compliant for a UILabel?

This hasn't happened before… UILabel is KVO compliant.

Best Solution

I linked to the WRONG Source!

enter image description here

Here's the result:

enter image description here

Related Question