Как выполнить поиск в NSArray, заполненном UIImageViews, для определенного свойства изображения?

#ios #uiimageview #uiimage #nsarray

#iOS #uiimageview #uiimage #nsarray

Вопрос:

У меня есть NSArray, заполненный UIImageViews. Я хочу выполнить indexOfObject вызов массива, но используя UIImage в качестве параметра поиска. Итак, я хочу найти индекс UIImageView на основе его свойства изображения. Есть ли простой способ сделать это или мне нужно настроить итерацию через массив?

Ответ №1:

Вы можете использовать indexOfObjectPassingTest: :

 NSUInteger index = [array indexOfObjectPassingTest:^BOOL(UIImageView *imgv, NSUInteger idx, BOOL *stop) {
    *stop = (imgv.image == myImage);
    return *stop;
}];
 

Ответ №2:

Это требует больше памяти, но вы можете сохранить NSArray ваших объектов изображения, которые имеют тот же порядок, что и ваши представления изображений. Тогда это простое сопоставление индексов.