2012-02-22 13 views
10

Czy istnieje prosty sposób, aby uzyskać wyniki FMDB z executeQuery:SELECT * ... łatwo w słowniku?Zestaw wyników FMDB do słownika

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

Zastanawiam się, czy istnieje sposób, w jaki można utworzyć klucze słownika, nazwy kolumn i wartości wartości kolumny. Najlepiej bez pętli przez każdy rząd w środku.

Odpowiedz

27

Tak:

NSMutableArray *results = [NSMutableArray array]; 

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

-resultDictionary jest wbudowana metoda na FMResultSet że włączy do bieżącej krotki z NSDictionary, włączył wg nazwy kolumny.

+0

Awesome! Skąd to masz? Patrząc na dokumentację wyników FMDB, nie istnieje. – Bot

+0

@jostster jest w 'FMResultSet.h'. –

+0

'-resultDict' jest przestarzałe, zamiast tego użyj' -resultDictionary'. – lucianf

Powiązane problemy