2010-10-17 3 views
0

У меня есть массив из 5 объектов.присваивать значение из массива в строку

Я хочу присвоить объект, который находится в индексе 1, NSSTRING.

nsstring *abc = [array objectAtindex:1]; 

Я знаю, что это неправильный синтаксис, это возвращает объект, что-то вроде этого.

Как я могу получить значение, которое находится в индексе 1, и назначить его строке?

рассматривает

+0

Каков конкретный вопрос? Ваш код в порядке и получает второй элемент массива. – Eiko

+0

@ Eiko .... это ?? но его предоставление , объект не значение. – iscavengers

+0

Посмотрите ответы - код тот же. Возможно, это проблема с самими данными или с тем, как вы ее используете. – Eiko

ответ

2

Массивов нуля базируется в Objective-C земле. Итак ...

NSArray *array = [NSArray arrayWithObjects:@"one", @"two", nil]; 
NSString *abc = [array objectAtIndex:1]; 

Вернул бы второй объект в массив. Ноль вернет первое.

+3

Почему вы создаете объект в строке 1 и выбрасываете его во втором? – Eiko

+1

потому что утечки прохладно! – Jack

+0

Успокойтесь, не закончил редактирование ответа. Gee Whiz2 – Jordan

7

Эээ .. это правильный синтаксис :)

Помимо имени класса строки:

NSString *abc = [array objectAtIndex:1]; 

ум, что это не будет создавать копию строки, если вам нужно скопировать его использовать

NSString *abc = [NSString stringWithString:[array objectAtIndex:1]]; 

Как Эйко заметки, которые вы можете напрямую скопировать объект строки, если вам нужно:

NSString *abc = [[array objectAtIndex:1] copy]; 
+0

Почему не просто [[массив objectAtIndex: 1] копия]? – Eiko

+0

Это правда, потому что я думал, что это смутит его, позвольте мне добавить его – Jack

+0

-1 Потому что вы скопировали мой ответ. – Jordan

Смежные вопросы