я хочу обновить свой старый массив новыми элементами - PullRequest
0 голосов
/ 31 декабря 2011

Я хочу сохранить мой новый отредактированный текст в моем текстовом поле 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 Ответ

5 голосов
/ 31 декабря 2011

Есть несколько проблем с вашим кодом:

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

Замена означает удаление объекта по индексу и вставку нового объекта по индексу за один шаг. То, что вы делаете, просто добавляете два раза одно и то же. Вы можете проверить это, распечатав массив (NSLog(@"%@",arry1);).

Следующая проблема:

txt1.text=[arry1 objectAtIndex:j];

Вы храните NSArray в вашем arry1 объекте. Однако NSTextField ожидает, что строка является свойством text. Вы сохранили это в arr2 , чтобы вы могли получить к нему доступ, используя следующую строку:

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

Всегда помните, какие типы и структуры вы используете!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...