我正在使用一个自定义的UITableViewCell,它已经有一些完全有效的UI元素。但是,我只是尝试为它们添加两个标签,当我连接插座并调用cell.label.text = @"text";
时,程序崩溃并出现错误:
Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<FeedTableViewCell 0x7aa53d00> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key likesLabel.'
我检查了是否有任何没有元素的连接,但没有。当除了新UI元素之外的所有内容都添加到单元格时,该应用程序完全有效就在我添加应用程序崩溃的新UI元素时。这是什么问题?
自定义单元类.h
#import <UIKit/UIKit.h>
@interface FeedTableViewCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UIImageView *profileImage;
@property (weak, nonatomic) IBOutlet UITextView *questionTextView;
@property (weak, nonatomic) IBOutlet UIButton *usernameButton;
@property (weak,nonatomic) IBOutlet UILabel * likesLabel;
@end
喜欢标签是问题的出路
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath object:(PFObject *)object{
FeedTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
if (cell == nil) {
cell = [[FeedTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
}
cell.likesLabel.text = @"text";
return cell;
}
电池的插座连接:
答案 0 :(得分:10)
在花费太多时间之后,“清理项目”为我解决了同样的神秘问题。 user1851782提到这是他的最终评论,但我想我会强调这一点。使用Xcode 6。
答案 1 :(得分:3)
我发现后约30分钟内解决了同样的问题 this
我基本上搜索了我的代码,其中包含了消息中显示的密钥,我找到了一个标签。取消该标签后问题已修复。
答案 2 :(得分:2)
如果您有任何现有方法名称的密钥(例如&#34;说明&#34;),则iOS 8会抱怨您无法使用该密钥。如果您不将该属性名称更改为&#34; descLabel&#34;那么您将收到KVC错误并崩溃。或&#34; descriptionLabel&#34;
答案 3 :(得分:0)
我只是花了一个上午试图解决这个问题 - 我最终发现了这个问题。为UIControllerView创建自己的自定义类时,我选择了“Test”文件夹,文件落在该文件夹中。为了纠正这个问题,我只需将文件拖到App文件夹中,不管它是什么...... BIG MISTAKE。
删除文件并在正确的文件夹中重新创建后,一切正常......
希望这有助于某人...