2010-03-26 3 views
0

Je suis un nouveau "développeur" essayant de construire une application iPhone Je fais une application qui obtient du texte à partir d'une liste d'objets dans un NSArray puis les aléatoirement et afficher un dans un TextView, voici le code:supprimer des objets de randomizer obj c

- (IBAction)azione{ 
NSArray *myArray= [NSArray arrayWithObjects: @"Pasta",@"Pizza",@"Wait",@"Go", nil]; 
int length = [myArray count]; 
int chosen = arc4random() % length; 
testo.text = [myArray objectAtIndex: chosen]; 

}

ce que je veux faire maintenant, est quand j'ouvre l'application et obtenez un objet au hasard, pour le sortir de la liste, de sorte qu'il a gagné ne seront pas repris

ex. J'ouvre l'application> Je reçois "Pizza"> Faites l'action à nouveau> Je ne reçois plus "Pizza", seulement "Pâtes" "Attendez" et "Go"

Que dois-je faire? Quel code dois-je utiliser?

Merci pour les réponses

+0

Et si tous les 4 objets sont supprimés? – kennytm

+0

Un UIAlertView apparaît –

Répondre

0

Ajoutez la ligne suivante à la fin de votre fonction.

[myArray removeObjectAtIndex: chosen] 
+0

C'est un NSArray et non un NSMutableArray. – kennytm

+0

je l'ai changé en tant NSMutableArray et je codé comme ceci: - (IBAction) azione { NSMutableArray * myArray = [NSMutableArray arrayWithObjects: @ "Pasta", @ "Pizza", @ "Wait", @ "Go", néant]; \t \t int length = [nombre de mes tables]; \t int choisi = arc4random()% longueur; \t testo.text = [myArray objectAtIndex: selected]; \t [myArray removeObjectAtIndex: selected]; } mais rien ne se passe, comme j'ouvre l'application, obtenir un objet et qui continue à apparaître que dois-je faire? Merci –

+0

@Kenny: Merci, j'ai raté ça. @David, l'action est-elle appelée plus d'une fois? – David

Questions connexes