Je suis en train de créer un UICollectionViewCell
sous-classe associé à un xib, j'ai cela:
J'ai créer un nouveau fichier xib et j'ai ajouter un UICollectionViewCell
, alors j'ai créer cette sous-classe fichier:
@interface MyCell : UICollectionViewCell
@property (weak, nonatomic) IBOutlet UILabel *label;
@end
Aussi j'ai lié dans le propriétaire du fichier de classe personnalisée à l' MyCell
de la classe dans interface builder, et j'ai ajouté un UILabel
, puis dans mon UICollectionView
viewDidLoad je fais ceci:
[self.collectionView registerClass:[MyCell class] forCellWithReuseIdentifier:@"MyCell"];
UINib *cellNib = [UINib nibWithNibName:@"MyCell" bundle:nil];
[self.collectionView registerNib:cellNib forCellWithReuseIdentifier:@"MyCell"];
Ainsi que dans le présent:
- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
MyCell *cell = (MyCell*)[cv dequeueReusableCellWithReuseIdentifier:@"MyCell" forIndexPath:indexPath];
cell.label.text = @"Cell Text";
return cell;
}
Toutefois, cela ne fonctionne pas, je reçois cette erreur:
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSObject 0x907eca0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key label.'
Qu'ai-je fait de mal? Comment puis-je connecter un UICollectionViewCell
sous-classe à une xib, et l'afficher dans un UICollectionView
?
EDIT:
j'ai fais ceci:
- (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;
}