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 件のコメント:
コメントを投稿