Хорошо, проблема в том, что вы пытаетесь извлечь данные из sqlite DB и поместить их в массив для отображения в виде прокрутки. Я использую библиотеку базы данных FM для подключения к базе данных sql
Код выглядит следующим образом:
NSMutableArray *data = [[NSMutableArray alloc] init];
FMResultSet *result = [[[StorageTank sharedStorageTank] DB]
executeQuery:@"SELECT * FROM table"];
while([result next])
{
NSArray *values = [[NSArray alloc] initWithObjects:
[[NSNumber alloc] initWithInt:[result intForColumn:@"id"]],
[[NSNumber alloc] initWithInt:[result intForColumn:@"count"]],
[[NSNumber alloc] initWithInt:[result intForColumn:@"required"]],
[result stringForColumn:@"image_portrait"],
[result stringForColumn:@"image_landscape"],
[[NSNumber alloc] initWithInt:[result intForColumn:@"end_date"]],
[[NSNumber alloc] initWithInt:[result intForColumn:@"active"]],
[result stringForColumn:@"merchant"], nil];
NSLog(@"%@", values);
NSArray *keys = [[NSArray alloc] initWithObjects: @"id",@"count",@"required",
@"image_portrait",@"image_landscape",
@"end_date",@"active",@"merchant",nil];
NSLog(@"%@", keys);
NSDictionary *row = [[NSDictionary alloc] initWithObjects: values forKeys: keys];
[data addObject: row];
}
NSArray *resultArray = [[NSArray alloc] init];
resultArray = data;
Итак, очевидно из кода, который я тестировал, чтобы убедиться, что количество значений равно количеству ключей ... но я все еще получаю эту ошибку:
"Завершение приложения из-за необработанного исключения 'NSInvalidArgumentException', причина: '- [__ NSPlaceholderDictionary initWithObjects: forKeys:]: количество объектов (3) не равно количеству ключей (8)'"
Я не могу понять всю жизнь, почему счет будет другим, если при печати массива значений я вижу 8 значений ... которые должны соответствовать моим 8 ключам? а они верны?
Любая помощь / направление будет принята с благодарностью!
Спасибо