Utwórz podklasę UICollectionViewCell z xib [duplikatem]

To pytanie ma już tutaj odpowiedź:

Co to znaczy? „„ NSUnknownKeyException ”, powód:… ta klasa nie jest zgodna z kodowaniem wartości klucza dla klucza X” 66 odpowiedzi

Próbuję stworzyćUICollectionViewCell podklasa z połączonym xibem, mam to: stworzyłem nowy plik xib i dodałemUICollectionViewCell w nim utworzyłem ten plik podklasy:

@interface MyCell : UICollectionViewCell

@property (weak, nonatomic) IBOutlet UILabel *label;
@end

Włączyłem również niestandardową klasę właściciela plikuMyCell klasa w konstruktorze interfejsów i dodałemUILabel, potem w moimUICollectionView viewDidLoad Robię to:

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

UINib *cellNib = [UINib nibWithNibName:@"MyCell" bundle:nil];
[self.collectionView registerNib:cellNib forCellWithReuseIdentifier:@"MyCell"];

Tak samo jak w tym:

- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
MyCell *cell = (MyCell*)[cv dequeueReusableCellWithReuseIdentifier:@"MyCell" forIndexPath:indexPath];


cell.label.text = @"Cell Text";


return cell;
}

Jednak to nie działa, otrzymuję ten błąd:

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSObject 0x907eca0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key label.'

Co zrobiłem źle? Jak mogę podłączyćUICollectionViewCell podklasa do xib i wyświetl ją w aUICollectionView?

EDYTOWAĆ:

zrobiłem to:

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

NSString *identifier = @"MyCell";

static BOOL nibMyCellloaded = NO;

if(!nibMyCellloaded)
{
    UINib *nib = [UINib nibWithNibName:@"MyCell" bundle: nil];
    [cv registerNib:nib forCellWithReuseIdentifier:identifier];
    nibMyCellloaded = YES;
}

MyCell *cell = (MyCell*)[cv dequeueReusableCellWithReuseIdentifier:@"MyCell" forIndexPath:indexPath];


cell.labelCell.text = @"Text";


return cell;
}

questionAnswers(2)

yourAnswerToTheQuestion