Как напечатать один элемент массива в Objective-C? - PullRequest
5 голосов
/ 05 февраля 2010

Как напечатать элемент массива по определенному индексу в Objective-C? Мой код выглядит так:

NSString *String=[NSString StringWithContentsOFFile:@"/User/Home/myFile.doc"];
NSString *separator = @"\n";
NSArray *array = [String componetntsSeparatedByString:separator];
NSLog(@"%@",array);

Я могу напечатать все содержимое массива одновременно, но я хочу назначить элемент для каждого индекса в строку, как ...

str1=array[0];
str2=array[1];
str3=array[0];...this continues

Как мне это сделать?

Ответы [ 3 ]

8 голосов
/ 05 февраля 2010

Вы хотите метод objectAtIndex:. Пример:

NSString *str1 = [array objectAtIndex:0];
NSString *str2 = [array objectAtIndex:1];
NSString *str3 = [array objectAtIndex:2];

Из документации :

objectAtIndex:
Возвращает объект, расположенный в index .

- (id)objectAtIndex:(NSUInteger)index

Параметры
Индекс
Индекс в пределах получателя.

Возвращаемое значение
Объект расположен по адресу index .

Обсуждение
Если index находится за концом массива (то есть, если index больше или равно значению, возвращенному count), NSRangeException повышается. 1041 *

0 голосов
/ 14 июля 2016

Начиная с версии clang 3.3, вы можете использовать нотацию [index], поэтому

NSString *str1 = array[0];

будет работать сейчас. Подробнее см. здесь .

0 голосов
/ 30 апреля 2012

если это только для отладки, вы можете попробовать использовать po <> в GDB.

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