过滤通过NSArray搜索不通信。 IOS

时间:2014-08-07 08:50:45

标签: ios ios7 nsarray nspredicate

我正在尝试使用NSArray中的文字过滤/搜索UITextfeild.text 如果我尝试搜索匹配字符串,则过滤器可以工作,但是当我在文本字段中键入字母时,我的过滤后的数组总是空出来。

NSArray *testArray  = [NSArray arrayWithObjects:@"testmailone@test.com",@"a@test.com",@"b@testing.com",@"h@fgdfgd",@"helloMan@test.com", @"dfsdfsdfsdfsdfs@dsfdfs",nil];
NSPredicate *predicatedString = [NSPredicate predicateWithFormat:@"SELF == %@", self.addHungryPersonTF.text];
NSArray *resultsArrayString = [testArray filteredArrayUsingPredicate:predicatedString];
NSLog(@"resultsArrayString%@",resultsArrayString);

这将返回null但是如果我将字符串更改为与另一个设置字符串匹配,如下所示:

NSString *matches = [NSString stringWithFormat:@"testmailone@test.com"];

NSLog
resultsArrayString(
"testmailone@test.com"
)

然后工作,数组将填充匹配的字符串。

任何人都有任何想法,为什么它不会通过我的NSArray字母搜索?当我键入它应该正确检查数组?

1 个答案:

答案 0 :(得分:1)

NSPredicate *predicatedString = [NSPredicate predicateWithFormat:@"SELF CONTAINS %@", self.addHungryPersonTF.text];
//keep this one for get all the strings which contains the substring or string itself

   NSPredicate *predicatedString = [NSPredicate predicateWithFormat:@"SELF BEGINS %@", self.addHungryPersonTF.text];
//keep this one for sting starts with the key word