Я хочу создать NSMutableDictionnary
с NSString
.Создать NSMutableDictionary с NSString
-(NSMutableDictionary *)getList{
//Declaration d'un objet SQLITE
sqlite3 *database;
//Declaration de notre String qui sera retourne
NSMutableDictionary *aromaArray = [[NSMutableDictionary alloc] init];
// Ouverture de la base de donnees
if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
//Chaine de caracteres de la requete
const char *sqlStatement = "SELECT name_fr FROM aroma_huiles";
//Creation de l'objet statement
sqlite3_stmt *compiledStatement;
//Compilation de la requete et verification du succes
if(sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) {
// Creation d'un dictionnaire des noms de colonnes
NSDictionary *dictionary = [self indexByColumnName:compiledStatement];
//char **final = malloc(4096 * sizeof(*final));
NSMutableArray *array = [[NSMutableArray alloc] init];
while(sqlite3_step(compiledStatement) == SQLITE_ROW) {
//Assigne la valeur dans la chaine de caracteres
char *tab;
tab = (char*)sqlite3_column_text(compiledStatement, [[dictionary objectForKey:@"name_fr"] intValue]);
NSString *final = [NSString stringWithUTF8String:tab];
if (final != nil) {
NSString *firstLetter = [final substringToIndex:1];
[aromaArray setObject:final forKey:firstLetter];
}
}
}
else {
//Envois une exception en cas de probleme de requete
NSAssert1(0, @"Erreur :. '%s'", sqlite3_errmsg(database));
}
// Finalisation de la requete pour liberer la memoire
sqlite3_finalize(compiledStatement);
}
else {
//Envois une exception en cas de probleme d'ouverture
NSAssert(0, @"Erreur d'ouverture de la base de donnees");
}
//Fermer la base de donnees
sqlite3_close(database);
//Retourne la valeur
return aromaArray;
}
Я думаю, что это самый простой способ, только 2 линии, но она все еще отвергают его:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString count]: unrecognized selector sent to instance 0x1093180c0'
добавить точку останова исключение и Xcode покажет вам где это исключение генерируется ... – trojanfoe
Я знаю, что это проблема цикла, но я могу понять, как я могу построить Dictionnary в простой форме. –
Вы уже исправили проблему цикла. Теперь вы получаете совершенно другую ошибку. Вы найдете решение здесь: http://stackoverflow.com/questions/18888059/cannot-find-executable-for-cfbundle-certuiframework-axbundle –