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:
计算机名为“计算机”,子计算机名为"NSarray,值为计算机1、计算机2和计算机3“。
计算机1名为"Computer 1“,子计算机名为"NSarray,其值为Notebook 1和Notebook 2”。
通过NSpredicate,我想在搜索“笔记本1”时获得父对象“计算机”
我试过的是:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SUBQUERY(children, $child, $child.children.name CONTAINS[cd] %@).@count > 0",searchText];和
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY children.children.name contains[cd] %@",searchText];发布于 2015-12-16 09:27:38
来结束这个问题。答案来自Willeke。
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY children.@distinctUnionOfArrays.children.name contains[cd] %@",searchText];https://stackoverflow.com/questions/34298044
复制相似问题