Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 使用NSPredicate筛选数组_Objective C_Arrays_Xcode_Filter_Nspredicate - Fatal编程技术网

Objective c 使用NSPredicate筛选数组

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

我想要的是我的swag,Apples,Oranges数组被它所包含的内容过滤,所以如果它包含一个字母或一个字母串。到目前为止,我有:

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
)

好吧,如果我想在下面做这个怎么办?