2011年5月13日金曜日

NSMutableArrayの使い方--objective-C--

int main (int argc, const char * argv[])
{
    
    NSAutoreleasePool *pool =[[NSAutoreleasePool alloc]init];
    
    //NSMutableArrayは自由に要素を追加、置換、削除できるクラスです。
    
    //空の可変配列を作成
    NSMutableArray *mArr = [NSMutableArray array];
    
    NSLog(@"%@",mArr);//()空白が出力
    
    //固定の配列をコピーして、可変する配列を作成
    NSArray *arr = [NSArray arrayWithObjects:@"aaa",@"bbb",@"ccc",nil];
    NSMutableArray *mArr2 =[arr mutableCopy];
    
    NSLog(@"%@",mArr2);//aaa,bbb,ccc
    
    //要素の追加、挿入、置換
    [mArr addObject:@"ABC"];//追加
    [mArr insertObject:@"DEF" atIndex:1];//挿入
    NSLog(@"%@",mArr);//ABC,DEF
    [mArr replaceObjectAtIndex:1 withObject:@"XYZ"];//置換
    NSLog(@"%@",mArr);//ABC,XYZ
    [mArr addObjectsFromArray:arr];//別の配列からコピーして追加
    NSLog(@"%@",mArr);//ABC,XYZ,aaa,bbb,ccc
    NSLog(@"%@",arr);//aaa,bbb,ccc(前の値はそのまま)
    
    //要素の削除
    //インデックスを指定して削除
    [mArr removeObjectAtIndex:3];//bbbを削除
    NSLog(@"%@",mArr);//ABC,XYZ,aaa,ccc
    
    //要素を指定して削除
    [mArr removeObject:@"aaa"];//aaaの要素を削除
    NSLog(@"%@",mArr);//ABC,XYZ,ccc
    
    //複数の要素を指定して、それらを削除
    [mArr removeObjectsInArray:[NSArray arrayWithObjects:@"ABC",@"XYZ", nil]];
    NSLog(@"%@",mArr);//ccc
    
    //一旦追加
    [mArr addObjectsFromArray:[NSArray arrayWithObjects:@"abc",@"def",@"ghi", nil]];
    NSLog(@"%@",mArr);///ccc,abc,def,ghi
    
    //範囲を指定して複数を削除
    [mArr removeObjectsInRange:NSMakeRange(1, 2)];
    NSLog(@"%@",mArr);//ccc,ghi
    
    //最後の要素を削除
    [mArr removeLastObject];
    NSLog(@"%@",mArr);//ccc
    
    
    [pool drain];
    return 0;
}

0 件のコメント:

コメントを投稿