UISearchBar Scope Bar方法

时间:2013-07-18 10:25:05

标签: iphone ios ipad uisearchbar uisearchdisplaycontroller

我的应用中有一个UISearchBar。我希望four文件中的UISearchBar范围栏我从XIB文件中提供。{1}现在问题是我有四个one , two , three and four s,其中包含每个数组的分隔值..say arrayarray onearray twoarray three。< / p>

现在我想要在按下范围栏array four时搜索只有one值才能搜索到... 在按下范围栏array one时,只应搜索two个值等等。

是否有可供搜索范围栏按钮的方法?

喜欢array two

如果我搜索范围栏If( scope_bar==1){...}else,那么它只会显示one。是否有任何方法可用..我在苹果文档上搜索但无法获得

1 个答案:

答案 0 :(得分:0)

您应该阅读一些有关NSDictionary的教程。我已经在书籍搜索应用程序上实现了这个搜索,同时搜索了标题和作者。

//每本书

NSDictionary * book = NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
title, @"TITLE", author, @"AUTHOR", nil];
[dataSource addObject:book];

之后在搜索方法中,您可以根据自己的轻松进行更改

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{

[tableData removeAllObjects];

if(searchText != nil && ![searchText isEqualToString:@""]){

    for(NSDictionary * book in dataSource){
        NSString * title = [book objectForKey:@"TITLE"];
        NSString * author = [book objectForKey:@"AUTHOR"];

        NSRange titleRange = [[title lowercaseString] rangeOfString:[searchText lowercaseString]];
        NSRange authorRange = [[author lowercaseString] rangeOfString:[searchText lowercaseString]];

        if(titleRange.location != NSNotFound || authorRange.location != NSNotFound)
            [tableData addObject:book];
        }

}

[tableView reloadData];
}