1
matsDataObject *notebook1 = [matsDataObject dataObjectWithName:@"Notebook 1" children:nil];
matsDataObject *notebook2 = [matsDataObject dataObjectWithName:@"Notebook 2" children:nil];
matsDataObject *computer1 = [matsDataObject dataObjectWithName:@"Computer 1"
children:[NSArray arrayWithObjects:notebook1, notebook2, nil]];
matsDataObject *computer2 = [matsDataObject dataObjectWithName:@"Computer 2" children:nil];
matsDataObject *computer3 = [matsDataObject dataObjectWithName:@"Computer 3" children:nil];
matsDataObject *computer = [matsDataObject dataObjectWithName:@"Computers"
children:[NSArray arrayWithObjects:computer1, computer2, computer3, nil]];
Это мой NSObject:IOS NSObject глубокий ребенок фильтрации с NSPredicate
Компьютеры имеет название "компьютеры" и дети "NSArray со значениями Компьютер 1, Компьютер 2 и компьютер 3"
Компьютер 1 имеет название «Компьютер 1» и дети «NSArray со значениями Notebook 1 и 2 Notebook»
прогиб NSPredicate Я хочу, чтобы получить родительский объект «Компьютеры» при поиске «Notebook 1»
Что я пробовал:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SUBQUERY(children, $child, $child.children.name CONTAINS[cd] %@)[email protected] > 0",searchText];
и
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY children.children.name contains[cd] %@",searchText];
Try 'детей. @ DistinctUnionOfArrays.children.name содержит [CD]% @' или 'подзапрос (дети, $ ребенок, ANY $ child.children.name СОДЕРЖИТ [кд]% @). @ Подсчитывать > 0'. – Willeke
Да да да! Он работает, большое вам спасибо. Должен был опубликовать этот вопрос раньше, потратив на это 2 дня. –