2

我想在数组之间插入一个对象。

例如 ;

 NSMutableArray *array = [[NSMutableArray alloc]init];
 [array addObject:@"1"];
 [array addObject:@"3"];
 [array addObject:@"4"];
 [array addObject:@"5"];

 NSLog@"array is - %@", array);

输出将是 -

数组是 - { 1,3,4,5}

但现在我想在这个数组之间添加另一个对象作为“2”,并希望输出像这样;

数组是 - { 1,2,3,4,5}

我怎样才能做到这一点?

我已经搜索但找不到解决方案。

请帮我。

谢谢。

4

7 回答 7

4
[array insertObject:@"2" atIndex:1];
于 2013-11-15T05:05:55.547 回答
2
NSMutableArray *array = [[NSMutableArray alloc]init];
[array addObject:@"1"];
[array addObject:@"3"];
[array addObject:@"4"];
[array addObject:@"5"];

NSLog@"array is - %@", array);
[array addObject:@"2"];
[array sortUsingSelector:@selector(compare:)];
NSLog@"array is - %@", array);
于 2013-11-15T05:09:39.970 回答
2

有多种方法可以在 Array Like 中添加对象

  1. 如果要从数组中添加对象

    NSMutableArray *array = [[NSMutableArray alloc]initWithArray:sourceArray];
    [array addObjectsFromArray:sourceArray];
    
  2. 如果您只想添加单个对象

    [array addObject:object];
    
  3. 如果您想在某个自定义索引处添加

    [array insertObject:object  atIndex:5];
    
  4. 如果要通过替换其他对象来添加

    [array replaceObjectAtIndex:5 withObject:object];
    

    是的,我们只能在数组中添加或删除当且仅当它是可变的。

于 2014-12-23T12:29:38.467 回答
1
[arrMutableArray insertObject:@"2" atIndex:1];
于 2013-11-15T05:08:46.020 回答
1

数组有方法名是

- (void)insertObjects:(NSArray *)objects atIndexes:(NSIndexSet *)indexes

使用之类的

[myArrayName insertObject:@"My Object" atIndex:IndexNumber]; // Here put your object with number of index as you want.

描述:

将提供的数组中的对象插入到指定索引处的接收数组中。

参数

=> objects
要插入接收数组的对象数组。
=> 索引
对象中的对象应插入的索引。索引中的位置数必须等于对象数。有关更多详细信息,请参阅讨论。

讨论
objects 中的每个对象在先前插入完成后依次插入到接收数组中索引中指定的相应位置。该实现在概念上类似于以下示例中说明的实现。

以上解释取自苹果官方文档。

于 2013-11-15T05:16:59.817 回答
0

您可以为此使用数组 insertobject 属性。

只需提及您要插入的 objectatIndex 即可。

您可以尝试如下。

 [yourarray insertObject:@"Give what you want to add" atIndex:1];
于 2013-11-15T05:08:09.290 回答
0

在斯威夫特

var someInts = [1,2,4,5]
var someVar = someInts
print(someVar)

开/关:[1, 2, 4, 5]

someInts.insert(3, atIndex: 2)
var append = someInts
print(append)

开/关:[1, 2, 3, 4, 5]

于 2016-09-21T12:43:45.957 回答