Как выбрать один объект из NSArray? - PullRequest
3 голосов
/ 25 декабря 2010

Прежде всего, с Рождеством всех! В настоящее время у меня есть NSArray, который проанализировал содержимое в нем. Когда я делаю NSLog массива, он печатает 20 объектов с разобранным содержимым, которое мне было нужно. Вот так:

2010-12-24 20:27:32.170 TestProject[48914:298] SomeContent
2010-12-24 20:27:32.172 TestProject[48914:298] SomeContent1
2010-12-24 20:27:32.172 TestProject[48914:298] SomeContent2
2010-12-24 20:27:32.173 TestProject[48914:298] SomeContent3
2010-12-24 20:27:32.173 TestProject[48914:298] SomeContent4
2010-12-24 20:27:32.173 TestProject[48914:298] SomeContent5
2010-12-24 20:27:32.174 TestProject[48914:298] SomeContent6
2010-12-24 20:27:32.175 TestProject[48914:298] SomeContent7
2010-12-24 20:27:32.176 TestProject[48914:298] SomeContent8
2010-12-24 20:27:32.176 TestProject[48914:298] SomeContent9
2010-12-24 20:27:32.177 TestProject[48914:298] SomeContent10
2010-12-24 20:27:32.177 TestProject[48914:298] SomeContent11
2010-12-24 20:27:32.177 TestProject[48914:298] SomeContent12
2010-12-24 20:27:32.179 TestProject[48914:298] SomeContent13
2010-12-24 20:27:32.179 TestProject[48914:298] SomeContent14
2010-12-24 20:27:32.180 TestProject[48914:298] SomeContent15
2010-12-24 20:27:32.180 TestProject[48914:298] SomeContent16
2010-12-24 20:27:32.181 TestProject[48914:298] SomeContent17
2010-12-24 20:27:32.181 TestProject[48914:298] SomeContent18
2010-12-24 20:27:32.190 TestProject[48914:298] SomeContent19

Однако мне не нужны все объекты сразу. Мне нужно иметь возможность выбирать один объект за раз, чтобы я мог поместить каждый объект в отдельную строку. Если кто-нибудь знает более простой способ сделать это, то, что я пытаюсь сделать, пожалуйста, дайте мне знать. В любом случае мне нужно иметь возможность выбрать только один объект в зависимости от того, какой объект мне нужен. Например, скажем, мне нужен только объект № 5, а не весь массив, как это можно сделать, чтобы я мог поместить его в строку? Я думаю, что мне, возможно, придется использовать функцию индексации, но я не уверен, как правильно ее настроить. Вот мой NSArray, с которым я работаю:

NSArray* myArray = [document selectElements: @"div.someContent"];
NSMutableArray* results = [NSMutableArray array];
for (Element* element in myArray){
    NSString* snipet = [element contentsSource];
    [results addObject: snipet];
    NSLog(@"%@", snipet);
}
NSLog(@"%i",myArray.count);

Я уже потратил несколько часов, пытаясь достичь этого, но мои знания по массивам ограничены, даже когда я читаю документацию. :-( Любая помощь очень ценится. Спасибо

Ответы [ 3 ]

14 голосов
/ 25 декабря 2010

Чтобы получить первый объект в массиве:

id obj = [array objectAtIndex:0];

Чтобы извлечь случайный объект в массиве:

id obj = [array objectAtIndex:arc4random_uniform(array.count)];

См. NSArray иarc4random_uniform справочная страница .

3 голосов
/ 25 декабря 2010

Проверьте документацию для -objectAtIndex:

0 голосов
/ 25 декабря 2010
Element *snippet = [results objectAtIndex:5];

См. Руководство по программированию NSArray для получения подробной информации о том, как использовать NSArrays.

...