如何在iOS中搜索名称列表?

时间:2012-04-13 16:58:38

标签: ios search ios5 xcode4.2

所以基本上我想使用UISearchBar来搜索名字数组。 在数组内部,名称具有以下格式:

[FIRST NAME]([第二名])[最后一个名字]

使用

 if (![string rangeOfString:seachTextPart].location == NSNotFound) 

我已成功搜索仅输入FIRST NAME的名称到UISearchBar。 但是一旦我进入空间,我就没有结果。

此外,我希望能够通过输入最后一个名称进行搜索。 谁能帮帮我吗? 感谢

2 个答案:

答案 0 :(得分:1)

假设您的格式如下:name = @"[John]([James])[Smith]";

搜索[name rangeOfString:@"John"]会产生结果。

搜索[name rangeOfString:@"John "]将无法找到,因为@"John "不在名称

但在这种情况下,[name rangeOfString:@"Smith"]会产生。

试试这个:删除所有空格和小写字符串

   searchTerm = [[searchTerm stringByReplacingOccurrencesOfString:@" " withString:@""] lowercaseString];
   NSRange searchName = [[name lowercaseString] rangeOfString:searchTerm];

如果你想测试,只需简单地执行此操作“  if (searchName == 0) //it does not match

答案 1 :(得分:0)

Byte的代码可以工作,除非他们输入“John Smith”。如果您想要更强大的功能,可以使用- (NSArray *)componentsSeparatedByString:(NSString *)separator,然后搜索数组中的任何字符串。因此,打字“约翰史密斯”将返回所有约翰斯和所有史密斯

这里:

NSArray *theTerms = [searchTerm componentsSeparatedByString:@" "];

然后在所有theTerms中运行for循环,并根据您的名称检查它们,将包含搜索词的那些添加到数组中,然后显示它们。