iPhone SDK:如何在UIPicker中实现搜索?

时间:2010-02-03 18:48:54

标签: iphone

我有UIPicker,我需要编写搜索机制。为此选择器提供的数据是一个字符串数组。当用户输入搜索字符串时(我有一个处理它的UISearchBar。)我想找到包含搜索词的所有字符串。从下面的例子中,我似乎需要编写谓词然后过滤数组。我现在遇到的问题是我不知道如何向用户显示搜索结果。我尝试将结果集分配回原始数组,但这不正确。有人可以提出一种技术来实现用代码示例搜索UIPicker吗?

NSMutableArray* names = [NSMutableArray arrayWithObjects:@"Andy", @"Bart", @"Bob", nil]; 
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"SELF beginswith[c] 'b'"];
NSArray* namesStartingWithB = [names filteredArrayUsingPredicate: predicate];

提前致谢。

2 个答案:

答案 0 :(得分:0)

这绝不是一个超级创造性的解决方案,但是如何将结果存储为sperate数组(即searchResultsArr)并将数据源更改为?在代码中只使用searchResultsArr,除非它是nil。如果它没有使用完整数组。

请务必致电

[picker reloadAllComponents];

当你把它换掉时

答案 1 :(得分:0)

这是一个有效的project

请记住,您的谓词区分大小写。您使用了小写字母b,因此不会返回任何结果。我的解决方案与Joe建议的基本相同。我使用两个数组。一个数组用于完整数据集,然后另一个数组用于搜索结果。选择器的数据源是部分数组,然后我在搜索时重新加载选择器。