Я новичок в target-c и пытаюсь создать массив словарей, чтобы просмотреть их в NSTableView с тремя столбцами.схема БД sqlite также имеет три столбца: «foo», «bar» и «foobar» в таблице с именем «tbl1».Я использую FMDB в качестве оболочки, и я могу писать и успешно запрашивать.
я могу создать массив для всей БД с помощью этого:
FMResultSet *rs = [db executeQuery:@"select * from tbl1"];
, и я могу создать словарь с этим:
dict = [[NSMutableDictionary alloc] init];
[dict setObject: @"baz"
forKey: @"foo"];
для чтения каждого элемента вDB работает:
while ([rs next]) {
NSLog(@"%@, %@, %@",
[rs stringForColumn:@"foo"],
[rs stringForColumn:@"bar"],
[rs stringForColumn:@"foobar"]);
}
, однако я не могу создать отдельный массив NSMutableDictionaries, поэтому я могу читать их в табличном представлении на основе ячеек.я смог заполнить один столбец с идентификатором "foo" значениями для "foo", однако это было просто путем создания массива элементов "foo" из запроса SQL:
FMResultSet *rs = [db executeQuery:@"select * from tbl1"];
while([foo next]) {
NSString *thisFoo = [foos stringForColumn:@"foo"];
[_foos addObject:[NSString stringWithFormat:@"%@", thisFoo]];
}
NSLog(@"Foos: %@", _foos);
в качестве примечания, я должен использовать изменяемые массивы и изменяемые словари, если я хочу обновить БД позже?или это не имеет значения, так как мне нужно было бы запросить всю БД, чтобы обновить представление таблицы в любом случае?приветствуются любые предложения о том, как заполнить табличное представление с тремя столбцами SQL-базой данных с тремя столбцами, а также исправления моего понимания FMDB или табличных представлений.