2009-10-09 9 views
0

J'ai une méthode avec le code suivant:iPhone, montrer tableau NSMutable contenant NSStrings dans UIPickerView

NSMutableArray *pickerArray = [[NSMutableArray alloc] init]; 

    int i; 

    for(i = 1; i <= 7; i++) { 
     NSString *myString = [NSString stringWithFormat:@"%@", i]; 
     [pickerArray addObject:myString]; 
    } 

    for(i = 1; i <= 7; i++) { 
     NSString *fieldName = [[NSString alloc] initWithFormat:@"column%d", i]; 

     [self setValue:pickerArray forKey:fieldName]; // setValue or initWithArray ??? 

     [fieldName release]; 
     [pickerArray release]; 
    } 

    srandom(time(NULL)); 

Quand je construis le tout d'application crée correctement, mais il se bloque au démarrage de la console que je reçois l'erreur suivante:

* - [NSCFString superview]: sélecteur non reconnu envoyé à l'instance 0x380da90 * en raison de l'application Mettre fin exception uncaught 'NSInvalidArgumentException', raison: '*** - [NSCFString superview]: sélecteur non reconnu envoyé à l'instance 0x380da90'

Si au lieu d'utiliser un tableau contenant des chaînes que j'utilise UIImageView contenant UIImages alors tout fonctionne correctement ...

Je voudrais seulement remplir mon sélecteur avec un tableau de nombres de 1 à 50 ...

Toute aide serait vraiment appréciée ... cette chose me rend fou :)

Répondre

0

Je ne pense pas que vous voulez [myString release]; dans votre première boucle for comme la chaîne que vous créez est auto-libérée (règle générale, tout ce qui est créé sans alloc, init ou new est automatiquement libéré)

+0

Vous avez totalement raison, c'était ma dernière tentative de le faire fonctionner ... pas de chance même si je ne libère pas la chaîne ... une autre idée? Merci quand même pour ta réponse! – noboruwatanabe

+0

pouvez-vous jeter dans un nslog() afin que nous sachions où il se bloque? aussi, ne met pas [release pickerArray]; à l'intérieur de la seconde boucle pour relâcher le pickerArray? – ACBurk

0

Problème résolu .... était quelque chose à voir avec le nombre d'éléments dans la sélection, rien à voir avec la méthode elle-même! Merci quand même!

+0

Si vous avez résolu votre propre problème, pensez à modifier cette réponse pour inclure cette information et l'accepter comme réponse. – kersny