отделение ключей и объектов от словаря NSMutable и использование значений в команде вставки sqlite - PullRequest
1 голос
/ 15 апреля 2011

Привет, ребята, я разрабатываю приложение sqlite в iphone. Поскольку я новичок в этом приложении, я не знаю, как использовать ключ и объекты из NSMutableDictionary в команде оператора вставки sqlite. например, я хочу вставить оператор в следующем формате.

ВСТАВИТЬ В TABLENAME (Имена столбцов как ключи от NSMUTABLEDICTIONRY) ЗНАЧЕНИЯ (ЗНАЧЕНИЯ КАК ОБЪЕКТЫ ИЗ NSMUTABLEDICTIONARY) пожалуйста, помогите мне. спасибо

Ответы [ 3 ]

5 голосов
/ 15 апреля 2011

На самом деле я очень мало знаю о SQL, но, может быть, что-то вроде этого поможет вам:

NSDictionary *myDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
                              @"Foo", @"Bar",
                              @"Foz", @"Baz",
                              nil];

NSMutableString *keys = [NSMutableString string];
NSMutableString *values = [NSMutableString string];
for (NSString *key in myDictionary) {
    [keys appendFormat:@"%@,", key];
    [values appendFormat:@"%@,", [myDictionary objectForKey:key]];
}
// remove last ,
[keys deleteCharactersInRange:NSMakeRange([keys length]-1, 1)];
[values deleteCharactersInRange:NSMakeRange([values length]-1, 1)]; 
NSString *sqlQuery = [NSString stringWithFormat:@"INSERT INTO TABLENAME %@ VALUES %@", keys, values];

// sqlQuery = INSERT INTO TABLENAME Bar,Baz VALUES Foo,Foz
0 голосов
/ 15 апреля 2011

Вы можете использовать быстрое перечисление для циклического перемещения по словарю:

NSDictionary *abc;
for (NSString *key in abc) {
     NSObject *foo = [abc objectForKey:key];
}

С этим должно быть легко построить ваше утверждение.

0 голосов
/ 15 апреля 2011
NSArray *keys = [dictionary allKeys];
NSMutableArray *values = [NSMutableArray array];
for (id k in keys)
    [values addObject:[dictionary objectForKey:k]];
...