从循环中获取值以存储在数组中

时间:2013-02-08 13:41:37

标签: ios

我有这个代码,我正在检查我的应用程序中存在的歌曲,并将歌曲的数量存储在NSMUTABLEArray中,但是有些错误它总是显示为空

    for (int i = 1; i < 100; ++i) {
    // Load the plist
    NSString *plist = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%d",i] ofType:@"mp3"];
    if (nil == plist) {
        NSLog(@"not found (%i)", i);
        continue;
    }




    NSLog(@"Found Songs (%i)",i);

    [MYNSMUTABLEArray addObject:[NSNumber numberWithInt:i]];

    NSLog(@"%@",MYNSMUTABLEArray);

}

i变量工作正常

1 个答案:

答案 0 :(得分:3)

您需要创建可变数组,以便存在用于存储数据的对象。我认为目前的代码是将addObject:消息发送给nil

我强烈建议使用比MYNSMUTABLEArray更好的变量名,所以这是我的代码snippit,应该在之前循环。

NSMutableArray* myMutableArray = [NSMutableArray alloc] init];

然后,在您添加对象的位置,您将使用:

[myMutableArray addObject:@(i)];

Bootnote:一点提示,您可以使用@字面值将原始int值自动打包到NSNumber对象中。这在addObject:示例中使用,格式为@(int)