Как извлечь массив из словаря - PullRequest
1 голос
/ 06 марта 2012

У меня есть 2 столбца в моей таблице Sqlite. 1.DetailsID & 2.Detailstype

Я сохранил значения id: int и detailstype: varchar.

установить идентификатор со строкой в ​​sqlite selectзапрос как

while(sqlite3_step(selectPrefer) == SQLITE_ROW)
            {                
                NSString *detailsString = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectPrefer, 1)];
                int detailsId = (int)sqlite3_column_int(selectPrefer, 0);

                [detailsData setObject:detailsString forKey:[NSNumber numberWithInt:detailsId ]];

            }

У меня есть словарь NSmutable, как это:

(


         0 = "˚F";
        12 = Activity;
        11 = BM;
        7 = "Heart Rate";
        6 = "Nose Problem";
        2 = Rx;
        1 = BP;
        10 = Food;
        9 = "Stress Level";
        8 = Glucose;
        5 = "Pain Level";
        4 = Weight;
        3 = Events;
}
i can get arrays using allKeys & allValues but these are not in order

Теперь я хочу отдельные массивы, такие как

       {
             0
1
2
3
4
5
6
7
8
9
10
11
12

        )

оба значения и ключи в порядке возрастанияв отношении ключей

(
            "˚F";
         Activity;
         BM;
         "Heart Rate";
         "Nose Problem";
         Rx;
         BP;
         Food;
         "Stress Level";
         Glucose;
         "Pain Level";
         Weight;
         Events;
)

без каких-либо изменений в запросе sqlite - что делать, спасибо заранее

Ответы [ 2 ]

4 голосов
/ 06 марта 2012

Вы должны использовать свойство allKeys и allValues ​​* * d2: :

allKeys Возвращает новый массив, содержащий ключи словаря.

allValues ​​Возвращает новый массив, содержащий значения словаря.

Попробуйте это:

NSArray *keysArray = [yourDictionnay allKeys];
NSArray *valuesArray = [yourDictionnay allvalues];

Надеюсь, это поможет, Винсент

1 голос
/ 06 марта 2012

вам нужны как allValues, так и allkeys.

NSArray *values = [dictionary allValues];
NSArray *keys  =  [dicitoary allKeys];
...