我正在尝试使用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
字母搜索?当我键入它应该正确检查数组?
答案 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