Swift3 谓词的等价物';Swift 3过滤器表达式的任意值

Swift3 谓词的等价物';Swift 3过滤器表达式的任意值,swift3,nspredicate,Swift3,Nspredicate,使用谓词时,我们可以有: filterPredicate = [NSPredicate predicateWithFormat:@"(ANY names.firstName contains[c] %@), nameToSearchFor]; 使用ANY可以查找名称集合中任何对象具有firstName包含所需文本的任何对象 是否可以对Swift 3中的筛选器表达式执行类似操作?换句话说,类似于: allPeople.filter { $0.(ANY)names.firstName.contai

使用谓词时,我们可以有:

filterPredicate = [NSPredicate predicateWithFormat:@"(ANY names.firstName contains[c] %@), nameToSearchFor];
使用
ANY
可以查找名称集合中任何对象具有
firstName
包含所需文本的任何对象

是否可以对Swift 3中的筛选器表达式执行类似操作?换句话说,类似于:

allPeople.filter { $0.(ANY)names.firstName.contains(searchString) };
(以上任何语法都是为了说明而编写的)


也许可以通过嵌套一个连接所有名字的
reduce
来完成,然后看看我的目标字符串是否包含在其中?

谢谢,我将尝试这个。filter etc使用的谓词样式表达式是否记录在Apple的Swift 3手册中?
谓词样式表达式
?嗯?我是说“$0.names.contains(其中:{$0.firstName.contains(searchString)})”位。我不知道你可以在这个表达式中写“where:”。记录在哪里?只是一个关于
序列
的方法,不要混淆,它只适用于
equalable
元素的
序列
s,谢谢。出于某种原因,我想象{}之间是某种特定于上下文的特殊子语言。
allPeople.filter { $0.names.contains(where: { $0.firstName.contains(searchString) }) }