je tente de générer des nombres aléatoires 6 et les mettre dans un NSArray global, thats ce que je l'ai fait:NSArray Problème
dans MainViewController.h
NSArray * zufallsZahlen;
j'ai fonction pour générer les numéros:
- (NSArray *)generateNumbers {
NSMutableSet *s = [NSMutableSet set];
while([s count] < 6) {
NSNumber *z = [NSNumber numberWithUnsignedInteger:arc4random() % 46];
if(![s containsObject:z])
[s addObject:z];
}
NSArray *zahlen = [[s allObjects] sortedArrayUsingSelector:@selector(compare:)];
return zahlen;
}
maintenant dans le viewDidLoad:
zufallsZahlen = [self generateNumbers];
[NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(onTimer:) userInfo:nil repeats:YES];
Si je NSLog mon zufallsZahlen NSArray dans le viewDidLoad i obtenir la sortie je veux:
(
2,
8,
13,
16,
27,
31
)
La fonction ontimer crée toutes les 0,2 secondes, une balle avec le nombre réel:
-(void)onTimer:(NSTimer*)timer {
if (indexBall > 6){
//some function
}
else {
[self crateBall:[zufallsZahlen objectAtIndex:indexBall] ballId:indexBall ballX:xCoord ballY:100];
[self rollBall:indexBall rollToY: 80];
indexBall+=1;
xCoord-=40;
NSLog(@"%@", zufallsZahlen);
}
Et si je NSLog le tableau dans la fonction ontimer i obtenir la sortie de duper:
Japanese.lproj
EDIT:
dans viewDidLoad conservent simplement le NSArray:
zufallsZahlen = [self generateNumbers];
[zufallsZahlen retain];
Merci beaucoup pour moi: D – Mario