2012-02-22 5 views
10

Есть ли простой способ легко получить результаты FMDB executeQuery:SELECT * ... в словаре?Результаты поиска FMDB в словаре

FMResultSet *appointmentResults = [[DataClass getDB] executeQuery:@"SELECT * FROM Appointments WHERE date = ?",currDateString]; 
while ([appointmentResults next]) { 
    //Create dictionary 
    //Add dictionary to array for later use 
} 

Мне было интересно, был ли способ заставить словарные ключи имена столбцов и значения значений столбца. Предпочтительно без необходимости выполнять цикл через каждую строку внутри.

ответ

27

Yep:

NSMutableArray *results = [NSMutableArray array]; 

FMResultSet *appointmentResults = [[DataClass getDB] executeQuery:@"SELECT * FROM Appointments WHERE date = ?",currDateString]; 
while ([appointmentResults next]) { 
    [results addObject:[appointmentResults resultDictionary]]; 
} 

-resultDictionary является встроенным методом на FMResultSet, который превратит текущий кортеж в NSDictionary, введенный по имени столбца.

+0

Удивительный! Где ты это взял? Глядя на результат документации FMDB, Dict там не работает. – Bot

+0

@jostster находится в 'FMResultSet.h'. –

+0

'-resultDict' устарел, вместо этого используйте' -resultDictionary'. – lucianf

Смежные вопросы