Как установить UILabel в UICollectionViewCell

У меня есть приложение с UIViewController с UICollectionView IBOutlet в нем.

Ячейка в UICollectionView - это MyCustomCell, и этот метод устанавливает свой UILabel:

-(void)setCellLabel:(NSString *)value{
    NSLog(@"settinglabel");
    cellLabel.text = @"hardcode"; //added for testing purposes
}

Ячейка имеет тип свойства Class, идентифицирующий ее как MyCustomCell в раскадровке, а также идентификатор ее очереди. UIViewController принимает источники данных и протоколы делегатов. Выход IBOutlet UILabel соединен с раскадровкой CellLabel. Методы определены как:

- (void)viewDidLoad{
    [super viewDidLoad];
    self.restNames = @[@"Orange",@"Naranja",@"Narnia"];

    [self.collectionView registerClass:[MyCustomCell class] forCellWithReuseIdentifier:@"MyCustomCellID"];

}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
    NSLog(@"%d",[self.restNames count]);
    return [self.restNames count];
}

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{

    MyCustomCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];


    [cell setCellLabel:@"hi"];
    NSLog(@"fitsname %@",[self.restNames objectAtIndex:indexPath.row]);


    return cell;
}

Я получаю три ячейки в моем табличном виде, соответствующие 3 объектам в моем массиве. Массив просто содержит строковые объекты, которые я устанавливал напрямую с помощью objectAtIndexPath, но я решил установить его прямо в @ "hi", поскольку он не работал. Я даже изменил значение, используемое в методе setCellLabel, на жестко закодированное значение, и я продолжаю получать только строку «Метка» по умолчанию в каждой ячейке.

Почему cellLabel не настроен правильно?

Ответы на вопрос(3)

Ваш ответ на вопрос