This question already has answers here:
Xcode - How to fix 'NSUnknownKeyException', reason: … this class is not key value coding-compliant for the key X" error?

(72个答案)


5年前关闭。




我已经在stackoverflow中查看了与此相关的几乎所有相关问题,并尝试了所有可能的解决方案,但我仍然不知道为什么会出现此错误:
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<CustomCell 0x6e627d0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key title.'

我正在尝试使用nibname:@“CustomCell”加载自定义的表格 View 单元格。其类分配给“CustomCell”(类名称与 Nib 名称相同)。其文件的所有者也设置为加载此单元格的类-“ProductsTableViewControllerWithSearch”。 Nib 中的所有 socket 都连接到CustomCell.m中的 socket

这是我的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellClassName = @"CustomCell";
    static NSString *CellIdentifier = @"Custom Items Cell";

    CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil)
    {

      NSArray *topLevelItems =  [[UINib nibWithNibName:CellClassName bundle:[NSBundle mainBundle]] instantiateWithOwner:self options:nil];
        cell = [topLevelItems objectAtIndex:0];

    }
//... more irrelevant code here
}

有人可以帮我吗。我已经为此工作了四个多小时。非常感谢!

PS:我正在使用ARC,并且正在为iOS 5开发。

这是我的CustomCell.h。
#import <UIKit/UIKit.h>

@interface CustomCell : UITableViewCell{
    UILabel *textLabel;
    UILabel *detailTextLabel;
    UIButton *starButton;
}

@property (strong, nonatomic) IBOutlet UILabel *textLabel;
@property (strong, nonatomic) IBOutlet UILabel *detailTextLabel;
@property (strong, nonatomic) IBOutlet UIButton *starButton;

@end

我的CustomCell.m中没有任何内容

最佳答案

在Interface Builder中,您需要将单元格的类设置为CustomCell,并且CustomCell需要具有属性title



通常意味着在类上找不到属性,并且Interface Builder尝试使用该属性,从而导致崩溃。

关于iphone - 自定义UITableViewCell子类: This class is not a key value coding-compliant,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9713651/

10-10 13:30