首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSArray问题

NSArray问题
EN

Stack Overflow用户
提问于 2010-08-12 10:27:07
回答 2查看 564关注 0票数 0

我尝试生成6个随机数,并将它们放入全局NSArray中,这就是我所做的:

在MainViewController.h中

代码语言:javascript
复制
NSArray * zufallsZahlen;

我有一个生成数字的函数:

代码语言:javascript
复制
- (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中:

代码语言:javascript
复制
zufallsZahlen = [self generateNumbers];
[NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(onTimer:) userInfo:nil repeats:YES];

如果我在ViewDidLoad中NSLog我的zufallsZahlen NSArray,我会得到我想要的输出:

代码语言:javascript
复制
(
2,
8,
13,
16,
27,
31
)

onTimer函数每隔0.2秒创建一个带有实际数字的球:

代码语言:javascript
复制
-(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函数中记录数组的Nslog,我会得到一个愚蠢的输出:

代码语言:javascript
复制
Japanese.lproj

编辑:

在viewDidLoad中,只需保留NSArray:

代码语言:javascript
复制
zufallsZahlen = [self generateNumbers];
[zufallsZahlen retain];
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-12 10:47:12

你没有保留数组。请记住,像NSSet sortedArrayUsingSelector这样的方法会返回一个自动释放的数组。

希望这能有所帮助。

票数 2
EN

Stack Overflow用户

发布于 2010-08-12 10:31:18

您可以在计时器中传入zufallsZahlen:

代码语言:javascript
复制
zufallsZahlen = [self generateNumbers];
[NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(onTimer:) userInfo:zufallsZahlen repeats:YES];

- (void) onTimer:NSArray *zufallsZahlen {
    // Do something with zufallsZahlen
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3464354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档