首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带NSpredicate的IOS NSpredicate深子过滤

带NSpredicate的IOS NSpredicate深子过滤
EN

Stack Overflow用户
提问于 2015-12-15 19:46:01
回答 1查看 191关注 0票数 1
代码语言:javascript
复制
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”时获得父对象“计算机”

我试过的是:

代码语言:javascript
复制
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SUBQUERY(children, $child, $child.children.name CONTAINS[cd] %@).@count > 0",searchText];

代码语言:javascript
复制
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY children.children.name contains[cd] %@",searchText];
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-16 09:27:38

来结束这个问题。答案来自Willeke。

代码语言:javascript
复制
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY children.@distinctUnionOfArrays.children.name contains[cd] %@",searchText];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34298044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档