我尝试生成6张随机数,并把它们在全球的NSArray,这就是我做了什么:NSArray的问题
在MainViewController.hNSArray * 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];
如果我在viewDidLoad中的NSLog我zufallsZahlen的NSArray我得到的输出,我想:
(
2,
8,
13,
16,
27,
31
)
计时器触发函数创建每隔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在计时器触发功能的阵列我得到的嘴硬输出:
Japanese.lproj
编辑:
在viewDidLoad中简单地保留的NSArray:
zufallsZahlen = [self generateNumbers];
[zufallsZahlen retain];
非常感谢您为我工作:D – Mario 2010-08-12 02:57:54