使用谓词时,我们可以:
filterPredicate = [NSPredicate predicateWithFormat:@"(ANY names.firstName contains[c] %@), nameToSearchFor];
ANY
的使用允许我们找到名称集合中任何对象包含所需文本的firstName
的任何对象。
是否有可能在Swift 3中使用过滤器表达式做类似的事情?换句话说,比如:
allPeople.filter { $0.(ANY)names.firstName.contains(searchString) };
(上面的ANY语法用于说明)。
也许可以通过嵌套连接所有firstNames的reduce
来完成,然后查看我的目标字符串是否包含在其中?
答案 0 :(得分:1)
allPeople.filter { $0.names.contains(where: { $0.firstName.contains(searchString) }) }