libro
www.tuyano.com
初心者のためのObjective-Cプログラミング入門

NSArray/NSMutableArrayとオブジェクトの配列 (5/6)

作成:2011-02-16 09:07
更新:2011-11-13 21:19

■オブジェクトの挿入と削除

続いて、既に保管されているオブジェクト類の途中に新しいオブジェクトを挿入するためのメソッドについてです。

オブジェクトはインデックスで管理されていますので、これらを使ってオブジェクトを途中に追加することで、並び順を変更したりすることもできます。
[《NSMutableArray*》 insertObject:
    《id》 atIndex:《NSUInteger》];
[《NSMutableArray*》 insertObjects:
    《id》 atIndexes:《NSIndexSet*》];
insertObject: atIndex:は、指定したインデックスの位置にオブジェクトを追加します。insertObjects: atIndexes:は、複数のオブジェクトを複数の位置に追加するためのものです。

追加するオブジェクトと、追加する位置を示す「NSIndexSet」というクラスのインスタンスをそれぞれ引数に指定することで、いくつものオブジェクトを一気に追加できます。まぁ、こちらはすぐに覚えなくても、1つ目の方だけわかればとりあえず大丈夫でしょう。

追加、挿入とくれば、残るは「削除」ですね。これは、さまざまな形でオブジェクトを削除するためのメソッドが用意されています。主なものをいくつかあげておきましょう。
[《NSMutableArray*》 removeAllObjects];
[《NSMutableArray*》 removeLastObject];
[《NSMutableArray*》 removeObject:《id》];
[《NSMutableArray*》 removeObjectAtIndex:《NSUInteger》];
1つ目は、すべてのオブジェクトを削除するものです。2番目は、一番最後のオブジェクトを削除するもの。3番目のremoveObject:は、引数に指定したオブジェクトを削除します。4番目のremoveObjectAtIndex:は、引数に指定したインデックスのオブジェクトを削除します。

この他、複数オブジェクトを削除するためのメソッドなどもありますが、とりあえず上の4つがわかれば基本的な削除は行えるでしょう。

では、簡単なオブジェクトの挿入と削除の例を以下のリストにあげておきます。これで、オブジェクトの追加や編集、削除といったひと通りの操作ができるようになりました!

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[]) {
    @autoreleasepool {
        NSMutableArray* arr = [NSMutableArray
               arrayWithObjects:@"Hello",@"Welcome",@"Bye",nil];
        [arr insertObject:@"Hi" atIndex:1];
        [arr removeObject:@"Welcome"];
        [arr removeObjectAtIndex:0];
        NSLog(@"%@",arr);
    }
    return 0;
}
※関連コンテンツ

「初心者のためのObjective-Cプログラミング入門」に戻る