У меня есть методПроверка существования множества элементов согласования сказуемого
- (BOOL)isLockedDueToSamples
{
if ([self.samples count] > 0)
{
NSPredicate* p = [NSPredicate predicateWithFormat:@"appraised == YES OR analysed == YES"];
if ([[self.samples filteredSetUsingPredicate:p] count] > 0)
return YES;
}
return NO;
}
Этот метод должен быть вызван довольно часто, но довольно медленно, поскольку self.samples может быть до 1500. Есть ли метод для проверки существование набора элементов, соответствующих предикату, без необходимости фильтровать весь набор?
EDIT:
Я сумел сделать метод немного быстрее, как это
- (BOOL)isLockedDueToSamples
{
if ([self.samples count] > 0)
{
for (Sample *sample in self.samples)
{
if (sample.appraised || sample.analysed)
{
return YES;
}
}
}
return NO;
}
Вы можете попробовать объектыPassingTest :, но я не думаю, что это будет быстрее, чем ваш цикл. – rdelmar