У меня есть дети NSMutableArray * в классе datastructure "Foo", который является суперклассом многих других, таких как "Bar1" и "Bar2". Этот массив хранит объекты Bar1 и Bar2 для получения древовидной рекурсивной родительской-дочерней структуры подклассов из Foo. Чтобы получить доступ к объектам в массиве, я просматриваю их с помощью цикла foreach в Objective-C:
for(Foo *aFoo in children) {
...
}
Но часто мне нужно только прокручивать объекты в массиве с определенным классом, в этом случае я хочу выполнить задачу для каждого объекта класса Bar1 в дочерних элементах массива. Использование for (Bar1 * anObject в дочерних элементах) снова пересекает ВСЕ объекты, а не только классы с классом Bar1. Есть ли способ достичь того, что мне нужно?