Пользовательский uitableviewcell не будет отображать тексты ярлыков

И значение меток также равно нулю.

Я не уверен, что происходит.

Это мои классы/коды

@interface CustomEventCell : UITableViewCell{

}

@property (nonatomic, weak) IBOutlet UILabel *participant1label;
@property (nonatomic, weak) IBOutlet UILabel *participant2label;
@property (nonatomic, weak) IBOutlet UILabel *status;

@end

Модель события

@interface Event : NSObject{
}
@property NSNumber *matchId;
@property NSString *participant1, *participant2,
-(id)init;
@end

это табличное представление, которое заполняет ячейку

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"EventCell";

    CustomEventCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if(cell == nil)
    {
        cell = [[CustomEventCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    // events is a NSMutableArray with Event instances
    Event *event = [events objectAtIndex:indexPath.row];

    cell.participant1label.text = event.participant1;

    return cell;
   }

Здесь моя настройка

enter image description hereenter image description here

enter image description here

enter image description here

Мне нужно что-то упускать, поскольку у меня есть другое uitableview, и оно заполняет обычай без проблем. Я сравнивал их, и они идентичны. Я даже попытался вернуться к обычной этикетке, и это заполнило бы это, но не обычное.

ИЗМЕНИТЬ:

Изменен неверный скопированный код.

Ответы

Ответ 1

Я написал простое небольшое тестовое приложение, пытающееся воспроизвести то, что вы хотите видеть. Я сделал его доступным здесь с помощью раскадровки. Если вы не можете понять это из этого, то, возможно, вы можете принять тестовое приложение и изменить его так, чтобы оно воспроизводило плохое поведение, которое вы видите.

Мое лучшее предположение о том, что может происходить, это то, что когда вы инициализируете свою ячейку, она не связана с представлением в xib.

Попробуйте установить точку останова:

cell.participant1label.text = event.participant1;

и убедитесь, что cell.participant1label не равен нулю:

NSLog( @"cell.participant1label: %@", cell.participant1label );

У меня была небольшая ошибка, в которой ни один из моих пользовательских ярлыков не показывался, а cell.participant1label был равен нулю. Причина заключалась в том, что я не установил идентификатор для ячейки таблицы пользовательских таблиц в "EventCell". Поэтому я могу предложить перепроверять это и убедиться, что идентификатор действительно соответствует вашему коду и XIB.