NSDictionary объекты имеют следующие методы сравнения:
- (BOOL)isEqualToDictionary:(NSDictionary *)otherDictionary
При следующем обсуждении
Два словаря имеют одинаковое содержание, если каждый из них содержит одинаковое количество записей и, дляПри заданном ключе соответствующие объекты значений в каждом словаре удовлетворяют требованиям isEqual: test.
Это должно иметь место для вас.К сожалению, вы не можете изменить метод, который NSArray использует для вычисления indexOfObject: поэтому он не может вам помочь, поэтому решение, предоставленное Денисом, - лучшее, что я могу придумать (если вы не представляете себе подклассы NSArray, который я бы не рекомендовал).1010 *
Так же, как дополнение к ответу Дениса, вы можете использовать метод NSArray
- (NSIndexSet *)indexesOfObjectsPassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate
вместо
- (NSUInteger)indexOfObjectPassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate
Если в массиве есть несколько одинаковых объектовесть возможность.