2016-02-15 1 views
0

Привет :) Это мой код:Класс не является значением ключа кодирования совместимый для ключа FULLNAME - Tableview

myView.m загружается из XIb

- (void)loadData { 


    self.players = [model.dbManager.playersDbManager selectAllEntities]; 

    [self.PlayersTableView reloadData]; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 

    return self.players.count; 
} 


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 


    CustomPopOverCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyCell"]; 
    if (cell == nil) { 
     cell = [[CustomPopOverCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"MyCell"]; 
    } 
    // Configure the cell... 
    Player *p = (Player *)[self.players objectAtIndex:indexPath.row]; 
    cell.fullName.text = p.firstName; 
    cell.number.text = (NSString *)p.jerseyNumber; 

    return cell; 

} 

myCustomCell.h:

@property (weak, nonatomic) IBOutlet UILabel *number; 

@property (weak, nonatomic) IBOutlet UILabel *fullName; 

myVC где я загружаю XIB:

self.popover = [[TaggingPopOver alloc] initWithFrame:CGRectMake(0, 0, contentContainer.frame.size.width, contentContainer.frame.size.height)]; 
    [UIViewHelper showView:self.popover InCenterOfView:contentContainer]; 
    self.popover.delegate = self; 
    [self.popover.PlayersTableView registerNib:[UINib nibWithNibName:@"Cell" bundle:nil] forCellReuseIdentifier:@"MyCell"]; 
    [self.popover loadData]; 

This is the xib of customcell.

Я пытаюсь загрузить FULLNAME + номер в моей пользовательской ячейке, но я получаю сообщение об ошибке

класс не является значением ключа кодирования совместимый для ключа FULLNAME

я попробовал все, но ничего не работает. Кто-нибудь знает, как это исправить?

+0

Не похоже, что ваши IBOutlets подключены к XIB вашей ячейки – beyowulf

+0

Какой класс дает сообщение об ошибке? –

+0

Возможно, теперь, но IBOutlets были связаны и были той же ошибкой:/Я пробовал все. Я включил контрольную точку исключения и эта строка дает ошибку: cell.fullName.text = p.firstName; – hds

ответ

1

Вы регистрируете идентификатор вашей ячейки?

UINib*   cellNib = [UINib nibWithNibName: self.cellID bundle: nil]; 
    NSAssert(cellNib != nil, @"Cell nib %@ doesn’t exist", self.cellID); 
    [aTableView registerNib: cellNib forCellReuseIdentifier: self.cellID]; 

или установите его в файле .xib.

+0

Да. В xib cell identifire = MyCell – hds

+0

Завершение приложения из-за неперехваченного исключения «NSUnknownKeyException», причина: '[ setValue: forUndefinedKey:]: этот класс не является ключевым значением, совместимым с кодировкой для ключа fullName.' Полная ошибка – hds

+0

Но как UITableView знает, какой cellID? –

1
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 


    CustomPopOverCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyCell"]; 
    if (cell == nil) { 
     cell = [[CustomPopOverCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"MyCell"]; 
    } 
    // Configure the cell... 
    Player *p = (Player *)[self.players objectAtIndex:indexPath.row]; 
    cell.fullName.text = [NSString stringWithFormat:@"%@",p.firstName]; 
    cell.number.text = (NSString *)p.jerseyNumber; 

    return cell; 

} 
+0

Он должен работать. -- попробуй. –

+0

К сожалению, это не так :( – hds

Смежные вопросы

 Смежные вопросы