J'essaie de trouver s'il y a un objet dans le tableau mutable qui correspond à l'objet que je passe. S'il vous plaît voir la fonction ci-dessous.Comment utiliser containsObject dans NSMutableArray
Le nom provient du contrôleur de vue de table, ainsi la ligne tapée est enregistrée dans le nom et transmise à cette fonction. J'essaye de vérifier si le nom dans le contrôleur de vue de table est égal au nom venant de la base de données. Ici, le nom fait référence à prénom et nom de famille..C'est la raison pour laquelle j'ajoute ces chaînes.
S'il vous plaît aidez-moi .. Je suis confus de la façon de le faire .. si vous avez une meilleure approche s'il vous plaît laissez-moi savoir .. merci beaucoup .. Je pense qu'il essaie de comparer les emplacements de mémoire de l'objet que cependant), mais est-il possible de sorte qu'il compare exactement le nom que je passe ..
-(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;
}
EDIT
nom: Blackmon: Valentin
Recherche Nom du contact 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: Valérie, Bouldin: Renaldo, Bracewell: Brendan, Bradford: Kris, Brathwaite: Bill, Brugger: Ismael, Brumit: Julie, Buchholtz: Mathew, Bunker: Chrystal, Burch: Floyd, Burman: Sang, Boucher: prince, Butcher: Rory,
searchContacts Barefield: Collin, Baylis: Efren, Beatty: Peter, Beckwith: Lynn, Benny: Wilma, Bermudes: Lenore, Berryhill: Gérard, Biles: Jodi, Blackmon: Valentin, Blassingame: Rose, Blume: Renae, Bonet: Claude, Bostic: Valérie, Bouldin: Renaldo, Bracewell: Brendan, Bradford: Kris, Brathwaite: Bill, Brugger: Ismael, Brumit: Julie, Buchholtz: Ma thew, Bunker: Chrystal, Burch: Floyd, Burman: Sang, Butcher: Prince, Butcher: Rory,
Avez-vous essayé la connexion 'searchContactName',' 'name' et searchContacts' pour vérifier le code précédent ? –
Merci pour la réponse..Lorsque j'ai essayé d'imprimer le contenu sur la console..le nom que je reçois est correct..Veuillez vérifier les valeurs..J'ai édité le code ci-dessus – racharambola