Я пытаюсь сгенерировать 6 случайных чисел и поместить их в глобальный NSArray, вот что я сделал:
в MainViewController.h
NSArray * zufallsZahlen;
У меня есть функция для генерации чисел:
- (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;
}
Теперь в ViewDidLoad:
zufallsZahlen = [self generateNumbers];
[NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(onTimer:) userInfo:nil repeats:YES];
Если я NSLog мой zufallsZahlen NSArray в ViewDidLoad, я получаю вывод, который я хочу:
(
2,
8,
13,
16,
27,
31
)
Функция onTimer каждые 0,2 секунды создает шар с фактическим номером:
-(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);
}
И если я Nslog Array в функции onTimer, я получаю дурацкий вывод:
Japanese.lproj
РЕДАКТИРОВАТЬ:
в viewDidLoad просто сохраните NSArray:
zufallsZahlen = [self generateNumbers];
[zufallsZahlen retain];