我尝试生成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;
}
现在在视图中加载:
zufallsZahlen = [self generateNumbers];
[NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(onTimer:) userInfo:nil repeats:YES];
如果我将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);
}
如果我将数组记录在ontimer函数中,我会得到愚弄输出:
Japanese.lproj
编辑:
在VIEWDIDLOAD中,只保留NSARRAY:
zufallsZahlen = [self generateNumbers];
[zufallsZahlen retain];