2013-09-21 1 views
3

J'ai un tableau nommé « rankStrings » et je suis en train de récupérer les données de ce à un index comme ci-dessous ...Erreur: expression d'indexation est invalide, car le type de l'indice « NSUInteger » est pas un type de pointeur c intégral ou objectif

NSArray *rankStrings = @[@"1", @"2", @"3", @"4", @"5", @"6", @"7", @"8", @"9", @"10"]; 

return [rankStrings[self.rank] stringByAppendingString:self.suit]; 

le "rang" est déclaré comme ...

@property (nonatomic) NSUInteger *rank; 

J'obtiens l'erreur, "l'expression d'indexation est invalide, car le type de l'indice 'NSUInteger' est pas un type de pointeur c intégral ou objectif".

J'ai essayé d'utiliser « NSInteger » ou « int » au lieu de « NSUInteger », mais il est toujours le même.

Toute aide est très appréciée !!

Répondre

11

Vous utilisez un pointeur à un NSUInteger et le tableau attend un NSUInteger (type primitif) comme index. Déclarez votre propriété comme ceci à la place:

@property (nonatomic,assign) NSUInteger rank; 
+0

Oui, vous avez raison. C'était le problème. Merci beaucoup!! –

Questions connexes