So legen Sie ein UILabel in UICollectionViewCell fest

Ich habe eine App mit einem UIViewController mit einem UICollectionView IBOutlet.

Die Zelle in der UICollectionView ist MyCustomCell und die folgende Methode legt ihr UILabel fest:

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

Die Zelle verfügt über den Eigenschaftsklassentyp, der sie im Storyboard als MyCustomCell identifiziert, sowie über ihren Dequeue-Bezeichner. Der UIViewController übernimmt die Datenquelle und delegiert Protokolle. Beim IBOutlet UILabel ist der cellLabel-Ausgang mit dem Storyboard verbunden. Die Methoden sind definiert als:

- (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;
}

In meiner Tabellenansicht werden drei Zellen gezeichnet, die den drei Objekten in meinem Array entsprechen. Das Array enthält einfach Zeichenfolgenobjekte, die ich direkt mit objectAtIndexPath festgelegt habe, aber ich habe beschlossen, es direkt auf @ "hi" festzulegen, da es nicht funktioniert. Ich habe sogar den in der setCellLabel-Methode verwendeten Wert in einen fest codierten Wert geändert und erhalte in jeder Zelle immer nur die Standardzeichenfolge "Label".

Warum ist das cellLabel nicht richtig eingestellt?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage