我的程序因以下错误而崩溃,我试图解决但无法解决此问题。 这是我的代码
-(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.'
任何帮助将不胜感激。感谢
答案 0 :(得分:0)
让它有点风景如画
然后
请记住,你需要
@property (strong, nonatomic) IBOutlet UILabel *dateLabel;
在您的自定义类.h文件中。这应该解决它
答案 1 :(得分:0)
在BNRCourseDetailCell.xib
(最有可能)中,与IBOutlet
变量或属性dateLabel
建立了连接。但是,加载XIB时,目标类上不存在该变量或属性。
例如,如果你有这样的变量/属性,建立连接,然后从类中删除变量/属性,就会发生这种情况。在这种情况下,您还需要从XIB中删除此连接。如果您将XIB中的项的类更改为另一个没有该变量/属性的类,也会发生这种情况。
不幸的是,异常并没有告诉我们目标类的名称,因此您需要猜测一下。我喜欢在这样的情况下直接搜索XIB(它只是一个XML文件)来查找连接(但是在Interface Builder中进行修改)。