iOS - 搜索表视图

时间:2012-03-29 15:55:31

标签: ios xcode arrays uitableview search

这是我目前的搜索代码。

-(void)filterContentForSearchText:(NSString *)searchText scope:(NSString *)scope {
    [filteredList removeAllObjects];         
    for(Location *item in list)
    {
        NSRange result = [item.title rangeOfString:searchText options:NSCaseInsensitiveSearch range:NSMakeRange(0, [searchText length])];
        if(result.location != NSNotFound)
        {
            [filteredList addObject:item];
        }
    }
}

我如何更改此标题以匹配标题的任何部分而不仅仅是开头。

示例:

目前,如果我搜索“Las”,“拉斯维加斯”将出现在列表中,但是当我搜索“拉斯维加斯”时,它不会出现。

我希望搜索词“Vegas”能够回到'拉斯维加斯'

谢谢, 阿什利

1 个答案:

答案 0 :(得分:1)

使用rangeOfString:options:代替rangeOfString:options:range:。 range参数将搜索限制为字符串的开头。

或者,如果由于某种原因你想使用rangeOfString:options:range:那么使用它作为范围:NSMakeRange(0, [item.title length])