OStack程序员社区-中国程序员成长平台

标题: ios - 请任何人都可以告诉我如何使用谓词从数组中过滤数组。? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 03:02
标题: ios - 请任何人都可以告诉我如何使用谓词从数组中过滤数组。?

我有一个数组

NSArray *arry = [[NSArray alloc]initWithObjects"1322",@"13222",@"13322",@"14322",@"13522",@"21322",@"11322",@"13212" ,nil];

我想得到一个有对象的数组

@"1322",@"13222",@"13322",@"13212"

你能告诉我如何使用这个过滤器的谓词。



Best Answer-推荐答案


我不确定我是否正确理解了您的问题(和评论)。

要查找 array 中包含在另一个数组 wanted 中的所有对象, 您可以使用“SELF IN %@”谓词:

NSArray *array = [[NSArray alloc] initWithObjects"1322",@"13222",@"13322",@"14322",@"13522",@"21322",@"11322",@"13212" ,nil];
NSArray *wanted = [[NSArray alloc] initWithObjects"1322", @"13522", @"999", nil];

NSPredicate *predicate = [NSPredicate predicateWithFormat"SELF IN %@", wanted];
NSArray *filtered = [array filteredArrayUsingPredicate:predicate];
NSLog(@"%@", filtered);

输出:

<前>( 1322, 13522 )

关于ios - 请任何人都可以告诉我如何使用谓词从数组中过滤数组。?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17420899/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4