我嘗試生成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