【问题标题】:How to updates array values in iphone app如何在 iPhone 应用程序中更新数组值
【发布时间】:2011-07-19 11:43:22
【问题描述】:

我必须更新位置 2 和 4 的数组值。我将如何更新数组值。我正在初始化我的数组,如下所示。

ArrayrData=[[NSArray alloc]initWithArray:statuses]; // where statuses is also an array

【问题讨论】:

  • [ArrayrData insertObject:anObject atIndex:2]; [ArrayrData insertObject:anObject atIndex:4]; ?

标签: iphone nsmutablearray nsarray


【解决方案1】:

你不能改变 NSArray 的值。所以将你的数组初始化为可变数组

NSMutableArray *ArrayrData=[[NSMutableArray alloc]init];
[ArrayrData addObjectsFromArray:statuses];

您可以使用 NSMutableArray 更新值,

– replaceObjectAtIndex:withObject:
– replaceObjectsAtIndexes:withObjects:
– replaceObjectsInRange:withObjectsFromArray:range:
– replaceObjectsInRange:withObjectsFromArray:

【讨论】:

  • 还有NSMutableArray *arrayData = [statuses mutableCopy] 可以替换您示例的前两行:)
【解决方案2】:

使用方法

- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject;
如果您想用新对象替换它们,或者只是访问索引 2 和 4 处的对象,然后使用修改它们

[ArrayrData objectAtIndex:idx]; //idx is the index of the object you want to access, in ur case it is 2 or 4.

【讨论】:

  • [ArrayrData objectAtIndex:(2 or 4)];不是真正的代码。你应该更好地展示它。
【解决方案3】:

您可以在应用程序中动态更改 NSMutableArray,如下所示:

NSMutableArray *ArrayData = [[NSMutableArray alloc]init];
[ArrayData addObjectsFromArray:statuses];

现在,当您想要替换数组中的任何对象时,您只需使用“replaceObjectAtIndex”方法进行替换,如下所示:

[ArrayData replaceObjectAtIndex:2 withObject:@"your Object or data"];
[ArrayData replaceObjectAtIndex:4 withObject:@"your Object or data"];

如果您有任何问题,请告诉我。

【讨论】:

  • Xcode 没有显示任何这样的 repcaeObjectAtIndex 方法..任何线索?
猜你喜欢
  • 2011-04-04
  • 1970-01-01
  • 2011-12-13
  • 2011-02-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-05
  • 2011-10-31
  • 2023-03-20
相关资源
最近更新 更多