2012-04-14 81 views
0

我已经添加了一个搜索栏与UITableView。当我输入第一个字符时,它会搜索以该字符开头的所有记录,但是当我输入下一个字符时,它不搜索任何内容。如何用iPhone搜索整个单词?

请帮助我。如果这是一个愚蠢的问题,然后亲切耐心地指导我 感谢名单

代码

-(void)searchData:(NSString*)search{ 

// search = [search uppercaseString]; 

    NSLog(@"Array count233 : %d", [menuArray count]); 



    NSLog(@"Array count237 : %d", [menuArray count]); 

    NSLog(@"Search String : %@", search); 
    if ([search isEqualToString:@""]) { 

    } 
    else { 

     [tableMenuArray removeAllObjects]; 

      for (int i = 0; i < [menuArray count]; i++) { 
       if ([[[menuArray objectAtIndex:i] itemName] hasPrefix:search]) { 
        [tableMenuArray addObject:[menuArray objectAtIndex:i]]; 
        NSLog(@"Found"); 
       } 
      } 
     } 
    [menuTableView reloadData]; 
} 
+0

你能发表你的查询码吗? – danh 2012-04-14 16:48:05

+0

你的问题不包含请求的信息。你在寻找什么?从你在寻找什么?你是从数据库中搜索? – freelancer 2012-04-14 16:46:17

+0

是@danh我已添加。如果你看到第二行。如果我评论它,那么它搜索得很好,但它是区分大小写的。如果我必须搜索“沙拉”,那么我必须写“沙拉”,如果我写“沙拉”,那么它不会搜索它。如果我取消注释第二行,那么它只会找到第一个字符。 – Mashhadi 2012-04-14 19:07:36

回答

0

如果取消对2号线,然后改变这一行 -

if ([[[menuArray objectAtIndex:i] itemName] hasPrefix:search]) 

...到 -

if ([[[[menuArray objectAtIndex:i] itemName] uppercaseString] hasPrefix:search]) 

否则,您将全大写字母与正常字词进行比较。希望这可以帮助你!