2012-04-14 5 views
0

Ich habe eine Suchleiste mit UITableView hinzugefügt. Wenn ich das erste Zeichen eintrage, durchsucht es alle Datensätze, die mit diesem Zeichen beginnen, aber wenn ich das nächste Zeichen eintrage, sucht es nichts.Wie mit ganzen Wort im iPhone suchen?

Bitte helfen Sie mir. Wenn dies eine dumme Frage ist dann freundlich geduldig und leite mich Thanx

-Code

-(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

können Sie Ihren Suchcode eingeben? – danh

+0

Ihre Frage enthält keine angeforderten Informationen. Was suchst du? Von was suchst du? Suchst du aus der Datenbank? – freelancer

+0

ja @danh ich habe hinzugefügt. wenn du die 2. Zeile siehst. Wenn ich es kommentiere, dann sucht es gut, aber es ist Groß- und Kleinschreibung. Wenn ich "Salat" suchen muss, dann muss ich "Salat" schreiben, wenn ich "Salat" schreibe, dann wird es nicht suchen. und wenn ich die 2. Zeile auskommentiere, wird sie nur mit dem ersten Zeichen gefunden. – Mashhadi

Antwort

0

Wenn Sie die zweite Zeile Kommentar-, dann diese Zeile ändern -

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

... zu -

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

Sonst vergleichen Sie alle Großbuchstaben mit normalerweise verkleinerten Wörtern. Hoffe das sortiert es für dich!