此类不是键dateLabel的键值代码

时间:2014-05-23 06:43:51

标签: ios

我的程序因以下错误而崩溃,我试图解决但无法解决此问题。 这是我的代码

-(void)viewDidLoad 
{    
    [super viewDidLoad];

    //Load the nib file
    UINib *nib=[UINib nibWithNibName:@"BNRCourseDetailCell" bundle:nil];

    //Register nib
    [self.tableView registerNib:nib forCellReuseIdentifier:@"BNRCourseDetailCell"];
}



 -(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    BNRCourseDetailCell *cell=[tableView dequeueReusableCellWithIdentifier:@"BNRCourseDetailCell" forIndexPath:indexPath];

    NSDictionary *course=self.courses[indexPath.row];
    NSDictionary *details=[course[@"upcoming"] objectAtIndex:0];

    cell.titleLable.text=course[@"title"];
    if (details)
    {
        cell.dateLabel.text= details[@"start_date"];
        cell.instructorLabel.text=details[@"instructors"];
    }
    else
    {
        cell.dateLabel.text= @"TBA";
        cell.instructorLabel.text=@"TBA";
    }
    return cell;
}

我的错误

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSObject 0x8d4dfa0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key dateLabel.'

任何帮助将不胜感激。感谢

2 个答案:

答案 0 :(得分:0)

让它有点风景如画enter image description here

然后

enter image description here

请记住,你需要

@property (strong, nonatomic) IBOutlet UILabel *dateLabel;

在您的自定义类.h文件中。这应该解决它

答案 1 :(得分:0)

BNRCourseDetailCell.xib(最有可能)中,与IBOutlet变量或属性dateLabel建立了连接。但是,加载XIB时,目标类上不存在该变量或属性。

例如,如果你有这样的变量/属性,建立连接,然后从类中删除变量/属性,就会发生这种情况。在这种情况下,您还需要从XIB中删除此连接。如果您将XIB中的项的类更改为另一个没有该变量/属性的类,也会发生这种情况。

不幸的是,异常并没有告诉我们目标类的名称,因此您需要猜测一下。我喜欢在这样的情况下直接搜索XIB(它只是一个XML文件)来查找连接(但是在Interface Builder中进行修改)。