web-dev-qa-db-ja.com

NSArrayの最初のインデックスにオブジェクトを追加する方法

NSARRAYの最初のインデックスに@ "ALL ITEMS"オブジェクトを追加します。

最初、配列には10個のオブジェクトがあります。追加後、配列には11個のオブジェクトが含まれているはずです。

19
Joker

まず最初に、NSArrayは初期化時に設定する必要があります。したがって、配列にオブジェクトを追加する場合は、NSMutableArrayを使用する必要があります。次のコードがアイデアと解決策を提供してくれることを願っています。

NSArray *array = [[NSArray alloc] initWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"0", nil];
NSMutableArray *mutableArray = [[NSMutableArray alloc] init];
[mutableArray addObject:@"ALL ITEMS"];
[mutableArray addObjectsFromArray:array];

AddObjectメソッドは、NSMutableArrayの最後の要素としてオブジェクトを挿入します。

20
Shad

NSArrayを変更して挿入および追加することはできません。 NSMutableArrayを使用する必要があります。指定したインデックスにオブジェクトを挿入する場合

[array1 insertObject:@"ALL ITEMS" atIndex:0];

Swift 2.0

array1.insertObject("ALL ITEMS", atIndex: 0)
49
arthankamal

InsertObjectには6つの答えがあり、1つはa(n) NSMutableArray配列を作成してからaddObjectを呼び出すためのものですが、これもあります。

myArray = [@[@"ALL ITEMS"] arrayByAddingObjectsFromArray:myArray];

私もプロファイルしていません。

17
Chris Conover

NSArray は、実行時に変更できない不変の配列です。 NSMutableArray を使用します

[array insertObject:@"YourObject" atIndex:0];
15
Rajneesh071

NSMutableArrayクラスのinsertObject:atIndex:メソッドを見てください。オブジェクトを配列の先頭に追加するには、インデックスとして0を使用します。

[myMutableArray insertObject:myObject atIndex:0];
15
Sumit Mundra

NSArrayは不変ですが、NSMutableArrayクラスのinsertObject:メソッドを使用できます

[array insertObject:@"all items" atIndex:0];
7
Prateek Bhanot

既に配列に10個のオブジェクトがあり、インデックス11に別のアイテムを追加する必要があるため、これを試してみる必要があります。これが役立つことを願っています。

NSMutableArray *yourArray = [[NSMutableArray alloc] initWithCapacity:11];
[yourArray insertObject:@"All Items" atIndex:0];
2
Vineet Singh

NSArrayは、NSMutableArrayを使用する必要がある目的を解決するために動的ではありません。次の方法を参照してください

- (void)insertObject:(id)anObject atIndex:(NSUInteger)index;

スウィフト3:

func addObject(){
    var arrayName:[String] = ["Name1", "Name2", "Name3"]
    arrayName.insert("Name0", at: 0)
    print("---> ",arrayName)
}

Output:
---> ["Name0","Name1", "Name2", "Name3"]
1
Deepak Tagadiya

AppleのドキュメントにはNSMutableArrayメソッドと書かれています

 [temp insertObject:@"all" atIndex:0];
1
user3491090