NSNumber *n1 = [NSNumber numberWithInt:1]; NSNumber *n2 = [NSNumber numberWithInt:2]; NSNumber *n3 = [NSNumber numberWithInt:3]; NSNumber *n4 = [NSNumber numberWithFloat:1.00000f]; // ポインタを表示 NSLog(@"n1=%p", n1); NSLog(@"n2=%p", n2); NSLog(@"n3=%p", n3); NSLog(@"n4=%p", n4); // それぞれ違うポインタが表示される // arr作成。 NSMutableArray *arr = [NSMutableArray arrayWithObjects:n1, n2, n3, n4, nil]; NSLog(@"削除前:%@", arr); // 1,2,3,4 // arrから最後のオブジェクトを取得する id n = [arr lastObject]; // そのオブジェクトをarrから削除する [arr removeObject:n]; NSLog(@"削除後:%@", arr); // 2,3 // removeObjectでは、ポインタが同じものを削除するのではなく、 // 値が同じオブジェクトを削除する。
最後のオブジェクトだけを削除したい時は、
[arr removeLastObject];
を使うべし。
5時間ハマった。コアな箇所だったので特定に時間がかかってしまいました。ドキュメントを良く調べてなかったのが今日の教訓。おやすみなさい。
0 件のコメント:
コメントを投稿