20

NSARRAYの最初のインデックスに@"ALLITEMS"オブジェクトを追加したいと思います。

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

4

10 に答える 10

50

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

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

Swift 2.0

array1.insertObject("ALL ITEMS", atIndex: 0)
于 2012-12-13T06:58:53.930 に答える
20

まず、初期化時に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の最後の要素として挿入します。

于 2012-12-13T07:18:03.990 に答える
17

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

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

私もプロファイリングしていません。

于 2014-05-15T21:29:02.157 に答える
16

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

[myMutableArray insertObject:myObject atIndex:0];
于 2012-12-13T06:56:37.040 に答える
15

NSArrayは不変の配列であり、実行時に変更することはできません。NSMutableArrayを使用する

[array insertObject:@"YourObject" atIndex:0];
于 2012-12-13T07:13:14.593 に答える
7

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

[array insertObject:@"all items" atIndex:0];
于 2012-12-13T06:58:20.017 に答える
3

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

NSMutableArray *yourArray = [[NSMutableArray alloc] initWithCapacity:11];
[yourArray insertObject:@"All Items" atIndex:0];
于 2012-12-13T07:46:50.907 に答える
2

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

- (void)insertObject:(id)anObject atIndex:(NSUInteger)index;
于 2012-12-13T06:58:08.893 に答える
1

AppleのドキュメントによるとNSMutableArrayメソッド

 [temp insertObject:@"all" atIndex:0];
于 2015-05-25T14:11:34.620 に答える
1

スウィフト3:

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

Output:
---> ["Name0","Name1", "Name2", "Name3"]
于 2017-09-27T09:31:14.873 に答える