Objective c 使用NSPredicate筛选数组
我想要的是我的swag,Apples,Oranges数组被它所包含的内容过滤,所以如果它包含一个字母或一个字母串。到目前为止,我有:Objective c 使用NSPredicate筛选数组,objective-c,arrays,xcode,filter,nspredicate,Objective C,Arrays,Xcode,Filter,Nspredicate,我想要的是我的swag,Apples,Oranges数组被它所包含的内容过滤,所以如果它包含一个字母或一个字母串。到目前为止,我有: NSArray* test = @[@"swag", @"Apples", @"Oranges"]; //NSString *nameOnly = [[onlyApps lastPathComponent] stringByDeletingPathExtension] NSString *searchinput = @"a"; NSPredicate * fltr
NSArray* test = @[@"swag", @"Apples", @"Oranges"];
//NSString *nameOnly = [[onlyApps lastPathComponent] stringByDeletingPathExtension]
NSString *searchinput = @"a";
NSPredicate * fltrSearch = [NSPredicate predicateWithFormat:@"%@ contains[cd] '%@'", test, searchinput];
NSArray * Search = [test filteredArrayUsingPredicate:fltrSearch];
NSLog(@"%@", fltrSearch);
NSLog(@"%@", Search);
请参考以下修改代码:-
NSArray* test = @[@"swag", @"Apples", @"Oranges"];
NSString *searchinput = @"a";
NSPredicate * fltrSearch = [NSPredicate predicateWithFormat:@"SELF contains[cd] %@",searchinput];
NSArray * Search = [test filteredArrayUsingPredicate:fltrSearch];
NSLog(@"%@", Search);
您的predicateWithFormat行错误。因此,只需替换以下行:-
NSPredicate * fltrSearch = [NSPredicate predicateWithFormat:@"%@ contains[cd] '%@'", test, searchinput];
使用修改的行:-
NSPredicate * fltrSearch = [NSPredicate predicateWithFormat:@"SELF contains[cd] %@",searchinput];
输出:-
(
swag,
Apples,
Oranges
)
好吧,如果我想在下面做这个怎么办?