0

アプリに存在する曲をチェックし、曲の数を NSMUTABLEArray に保存しているこのコードがありますが、何か問題があり、常に null と表示されます

    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 変数は問題なく動作しています

4

1 に答える 1

3

データを格納するオブジェクトが存在するように、可変配列を作成する必要があります。現時点でのコードは にaddObject:メッセージを送信していると思いますnil

よりも優れた変数名を強くお勧めしますので、ループの前にMYNSMUTABLEArray配置するコード スニピットを次に示します。

NSMutableArray* myMutableArray = [NSMutableArray alloc] init];

次に、オブジェクトを追加する場所で、次を使用します。

[myMutableArray addObject:@(i)];

ブートノート:ちょっとしたヒントとして、@リテラルを使用して、プリミティブint値をNSNumberオブジェクトに自動的にボックス化できます。これはaddObject:例で使用されており、形式は@(int)です。

于 2013-02-08T13:48:08.203 に答える