首先,的讨论没有解决我的问题。

Custom UITableViewCell subclass: This class is not a key value coding-compliant

设置:

我在MainViewController中有一个Person对象数组。
想要在UITableView中的AllContactsViewController中显示对象。

问题:

使用默认的UITableViewCell时,所有工作均按预期进行。
当我使用自定义的TableCell时,我得到一个错误,指向
该类不符合键值编码标准。

在我将outlets中的三个IB中的任何一个与TableCell类连接之后,就会发生此错误。

注意:
TableCell具有三个属性:nameemail标签+ imageView

希望能对您有所帮助。

TableCell.h

#import <UIKit/UIKit.h>

@interface TableCell : UITableViewCell

@property (weak, nonatomic) IBOutlet UILabel *nameLabel;
@property (weak, nonatomic) IBOutlet UILabel *emailLabel;
@property (weak, nonatomic) IBOutlet UIImageView *imageView;

@end

TableCell.m
#import "TableCell.h"

@implementation TableCell
@synthesize nameLabel, imageView, emailLabel;

AllContactsViewController.m
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellIdent = @"TableCell";

    TableCell *cell = (TableCell *)[tableView dequeueReusableCellWithIdentifier:cellIdent];

    if (cell == nil) {

        NSArray *array = [[NSBundle mainBundle]loadNibNamed:@"TableCell" owner:self options:nil];
        cell = [array objectAtIndex:0];
    }

    NSString *firstAndLastnameString =
    [NSString stringWithFormat:@"%@ %@",
     [(NewContact *)[self.allContactsArray objectAtIndex:[indexPath row]] firstName],
     [(NewContact *)[self.allContactsArray objectAtIndex:[indexPath row]] lastName]];

    cell.nameLabel.text = firstAndLastnameString;

    cell.emailLabel.text =
    [(NewContact *)[self.allContactsArray objectAtIndex:[indexPath row]] eMail];

    cell.imageView.image =
    [(NewContact *)[self.allContactsArray objectAtIndex:[indexPath row]] contactPicture];

    return cell;
}

更新:

也许截图将对IB有所帮助。

添加了完整的AllContactsViewController.h
#import <UIKit/UIKit.h>
#import "VCDelegate.h"
#import "TableCell.h"

@interface AllContactsViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>

@property (weak, nonatomic) id <VCDelegate>delegate;

@property (weak, nonatomic) IBOutlet UITableView *allContactsTableView;

@property (strong, nonatomic) NSMutableArray *allContactsArray;

@property (assign) int currentArrayIndexNumber;

- (IBAction)closeBtnTapped:(id)sender;

@end

最佳答案

如果要连接文件所有者的导出,则应执行以下操作:

1-将UITableViewCell的类定义为TableCell类:

2-不是从文件的所有者而是从对象列表中的TableCell连接导出:

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

10-12 00:16