Получение объектов из NSArray в другом NSArray - PullRequest
1 голос
/ 22 марта 2012

для приложения iOS 5.0, использующего ARC, у меня есть NSArray объектов, которые содержат NSArray других объектов внутри него. Можно ли извлечь список объектов из внутренних массивов без перебора массива, например скажем, с NSpredicate или valueForKeyPath. Чтобы быть более ясным, у меня есть:

NSArray *objtype1 contains
         -id
         -NSArray *imageObjs containing imageObjects
                       -imagetype = 1 <--1st imageObject
                        imageURL1 
                       -imagetype = 2 <--2nd imageObject
                        imageURL2
         -NSArray *objtype2 
         -other parameters

Мне нужно извлечь NSArray из imageType = 1 imageObjects для передачи для дальнейшей обработки. Это возможно? (Я смотрю на NSpredicate и valueForKeyPath, но пока ничего не нашел)

Ответы [ 2 ]

1 голос
/ 22 марта 2012

Хммммм, кажется, немного неясно, что вы делаете.Похоже, у вас есть NSArray нескольких типов.И вам нужен массив imageObjs внутри него.

Если у вас есть такой NSArray, было бы монументально легче преобразовать его в NSDictionary.Затем вы можете использовать [dictionary valueForKey:@"Image Array"];, чтобы извлечь из него массив изображений.

В настоящее время ваше решение получить массив imageObjs будет [objtype1 objectAtIndex:1];, а затем выполнить итерацию по этому массиву, чтобы использовать в нем imageObjects.

for(ImageObject *obj in arr) {
    //do stuff
}
1 голос
/ 22 марта 2012

Я думаю, что причина, по которой вы еще ничего не нашли, в том, что ее там нет.Вы можете реализовать свою собственную категорию на NSArray, чтобы использовать предикаты рекурсивно.Возможно, кто-то еще уже сделал это.Я не знаю.

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