【发布时间】:2014-03-17 11:17:54
【问题描述】:
我知道你一读到标题你一定在想.. 这很常见,但相信我,过去 2 天我一直在用这个来敲打我的头。我已经尝试了 stackoverflow 和其他我可以在互联网上找到的所有解决方案,但没有任何效果。我什至尝试重新开始我的项目(幸运的是,我在最初阶段就被卡住了),但它仍然抛出了同样的异常。
这是我的问题的描述。我创建了一个自定义单元格作为 UITableViewCell 的子类(很常见的嗯)。现在我的视图控制器(其中添加了一个 UITableView)在 viewdidload 中为我的 customcell 注册了 nib。
[self.tableView registerNib:[UINib nibWithNibName:@"VideoCustomCell"
bundle:[NSBundle mainBundle]]
forCellReuseIdentifier:@"CustomCellReuseID"];
在 cellForRowAtIndexPath 处,我只需执行 dequeueReusableCellWithIdentifier。 到目前为止,一切都很好。我启动了这个项目,一切运行正常。我可以看到我的自定义单元格正在表格视图中加载。
当我将自定义单元格中的任何控件连接到 IBOutlet 时,问题就开始了。它抛出*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSObject 0xa4b4fe0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key vidName.'
现在我已经尝试了所有这些:
将 XIB 的文件所有者更改为我的自定义单元类、NSObject、我的视图控制器,但没有运气。
更改我的出口名称(以防可能存在命名冲突)但结果仍然相同。
将“主界面”更改为不同的视图控制器并将其留空,但仍然没有。
我什至尝试删除单元格中除一个标签之外的所有其他控件,但在我连接时它仍然抛出异常。
仅供参考。我的项目是一个通用项目,我使用的是 Xcode 5。
更新:cellForRowAtIndexPath 代码
NSString *CellIdentifier = @"CustomCellReuseID";
VideoCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
cell.vidName.text = [NSString stringWithFormat:@"%d",indexPath.row];
return cell;
【问题讨论】:
-
您是否将自定义类名设置为包含属性/变量“vidName”的表格视图单元类?
-
发布你的 cellForRowAtIndexPath 方法,也许我们可以看到上面有什么。
-
用代码更新了我的问题..
-
您是连接到文件所有者还是单元格视图?
-
我不确定我是否正确地关注了你。我将上述标签连接到我的 customcell 类的文件所有者。
标签: ios objective-c exception uitableview