2013-02-08 83 views
0

我有这样的代码从我检查存在于我的应用程序的歌曲,并存储在一个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工作精绝

回答

3

您需要创建可变数组,从而使物体的存在是为了存储数据。我认为目前的代码正在发送addObject:消息到nil

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

NSMutableArray* myMutableArray = [NSMutableArray alloc] init]; 

然后在其中添加对象,你会使用:

[myMutableArray addObject:@(i)]; 

Bootnote:有一些小技巧,你可以用@文字自动打你的原始int价值为NSNumber目的。这在addObject:示例中使用,并且形式为@(int)