Wie zu verwenden containsObject in NSMutableArray

Ich versuche zu finden, wenn es irgendeinen Gegenstand in das mutable-array entspricht, mit der das Objekt das ich übergeben. Bitte sehen Sie die untenstehende Funktion.

Der name kommt von table view-controller, also die Zeile, die angezapft wird, ist gespeichert in Namen und an diese Funktion übergeben. Ich bin versucht, zu überprüfen, ob der name in der Tabelle view-controller gleich auf die Namen kommen aus der Datenbank. Hier name bezieht sich auf die firstName und lastName..Das ist der Grund, warum ich bin anfügen von strings.

Bitte helft mir..ich bin verwirrt, wie das zu tun..wenn u irgendwelche der bessere Ansatz ist, lasst es mich bitte wissen..vielen Dank..ich denke, die versuchen zu vergleichen, die memory locations, die von dem Objekt (nicht sicher wenn), aber gibt es eine Möglichkeit, so dass es vergleicht genau die Namen, die ich leite..

-(NSMutableDictionary *)getSearchContacts:(NSString *)name
{
 //---retrieve rows--- 
 NSString *qsql =[[NSString stringWithFormat:@"SELECT * FROM CONTACTS WHERE last_name LIKE '%@",[name substringToIndex:1]]stringByAppendingString:@"%' GROUP BY sugar_id ORDER BY last_name"]; 
 NSString *sugar_id;
 NSString *first_name;
 NSString *last_name;
 NSMutableArray *searchContacts=[[NSMutableArray alloc] init];

 sqlite3_stmt *statement;
 if (searchContactName == nil) {
  searchContactName=[[NSString alloc]init];
 }
 if (sqlite3_prepare_v2( db, [qsql UTF8String], -1, &statement, nil) == SQLITE_OK) {
  while (sqlite3_step(statement) == SQLITE_ROW) { 
   sugar_id= [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 1)];
   first_name = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 3)];
   last_name = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 4)];  

   if ([first_name isEqualToString:@"(null)"]) {
    last_name=[last_name stringByReplacingCharactersInRange:NSMakeRange(0,1) withString:[[last_name substringToIndex:1] uppercaseString]];
    searchContactName=[searchContactName stringByAppendingString:last_name];
    searchContactName=[searchContactName stringByAppendingString:@":"];
    searchContactName=[searchContactName stringByAppendingString:@","];

   }
   else {

    first_name=[first_name stringByReplacingCharactersInRange:NSMakeRange(0,1) withString:[[first_name substringToIndex:1] uppercaseString]];
    last_name=[last_name stringByReplacingCharactersInRange:NSMakeRange(0,1) withString:[[last_name substringToIndex:1] uppercaseString]];
    searchContactName=[searchContactName stringByAppendingString:last_name];
    searchContactName=[searchContactName stringByAppendingString:@":"];
    searchContactName=[searchContactName stringByAppendingString:first_name];
    searchContactName=[searchContactName stringByAppendingString:@","];

   }
   [searchContacts addObject:searchContactName];
   //first_name = nil;
   //last_name = nil;
    if ([searchContacts containsObject:name]==YES) {
               searchSugarId=[[NSMutableDictionary alloc]initWithObjectsAndKeys:sugar_id,searchContactName,nil];
   }

  }
  //---deletes the compiled statement from memory--- 
  sqlite3_finalize(statement);
 } 
 return searchSugarId;

}

BEARBEITEN

Name: Blackmon:Valentin

Suche Kontakt Name
Barefield:Collin,Baylis:Efren,Beatty:Peter,Beckwith:Lynn,Benny:Wilma,Bermudes:Lenore,Berryhill:Gerard,Biles:Jodi,Blackmon:Valentin,Blassingame:Rose,Blume:Renae,Bonet:Claude,Bostic:Valerie,Bouldin:Renaldo,Bracewell:Brendan,Bradford:Kris,Brathwaite:Bill,Brugger:Ismael,Brumit:Julie,Buchholtz:Mathew,Bunker:Chrystal,Burch:Floyd,Burman:Sang,Butcher:Prince,Butcher:Rory,

searchContacts
Barefield:Collin,Baylis:Efren,Beatty:Peter,Beckwith:Lynn,Benny:Wilma,Bermudes:Lenore,Berryhill:Gerard,Biles:Jodi,Blackmon:Valentin,Blassingame:Rose,Blume:Renae,Bonet:Claude,Bostic:Valerie,Bouldin:Renaldo,Bracewell:Brendan,Bradford:Kris,Brathwaite:Bill,Brugger:Ismael,Brumit:Julie,Buchholtz:Mathew,Bunker:Chrystal,Burch:Floyd,Burman:Sang,Butcher:Prince,Butcher:Rory,

  • Haben Sie versucht, die Protokollierung searchContactName, name und searchContacts überprüfen Sie den obigen code?
  • Danke für die Antwort..Wenn ich versuchte, um print-Inhalte auf der Konsole..den Namen hab ich bekommen richtig ist..bitte überprüfen Sie die Werte..ich bearbeitet habe, der obige code
InformationsquelleAutor racharambola | 2010-08-23
Schreibe einen Kommentar