我想用新元素更新我的旧数组

时间:2011-12-31 15:25:10

标签: objective-c

我想在txt1的文本字段arr2中保存我的新编辑文本,然后使用替换方法将新文本替换为arry1中的旧元素。但它不起作用。

arr2 = [[NSMutableArray alloc]init];
[arr2 addObject:txt1.text];
NSInteger j=0;
[arry1 replaceObjectAtIndex:j withObject:arr2];
[arry1 insertObject:arr2 atIndex:j];
txt1.text=[arry1 objectAtIndex:j];

1 个答案:

答案 0 :(得分:5)

您的代码存在一些问题:

NSInteger j = 0;
[arry1 replaceObjectAtIndex:j withObject:arr2];
[arry1 insertObject:arr2 atIndex:j];

替换意味着删除索引处的对象,并在一个步骤中将新对象插入索引。你做的只是添加两倍相同的东西。您可以通过打印出数组(NSLog(@"%@",arry1);)来测试它。

下一个问题:

txt1.text=[arry1 objectAtIndex:j];

您正在 arry1 对象中存储NSArray。但是NSTextField期望字符串是text属性。您已将其存储在 arr2 中,以便您可以使用以下行访问它:

txt1.text = [[arry1 objectAtIndex:j] objectAtIndex:0];

始终牢记您正在使用的类型和结构!