Вы можете использовать NSPredicate, который проверяет, равен ли id
тот, который вы ищете, и просто фильтровать пользовательские объекты, используя этот предикат, вызывая filteredArrayUsingPredicate:
.
Чтобы повысить производительность, я бы попытался отложить все, что вы пытаетесь вычислить, не напрямую вызывая функцию, выполняющую тяжелую работу в представлении прокрутки, а скорее вызывая [self performSelector:... withObject:nil afterDelay:0];
, которая откладывает вычисление до следующего цикла выполнения цикла , Если вы проверите, запланировано ли уже вычисление, прежде чем вызывать executeSelector, вы действительно сможете уменьшить частоту вычислений, сохраняя четкий интерфейс.