Несмотря на то, что у меня редко бывают проблемы с FMDatabase, сегодня я заметил странное поведение и задавался вопросом, является ли это ошибкой или моей собственной ошибкой.
NSString *query = [NSString stringWithFormat:@"SELECT * FROM TABLE_A WHERE modelId = %lu", modelId];
FMResultSet *resultSet = [db executeQuery:query];
while ([resultSetIPTCProperties next]) {
NSLog(@"MODEL ID: %lu", [resultSetIPTCProperties intForColumn:@"stringId"]);
}
Странно то, что все это работает нормально, но я хотел быть осторожным и предшествовать циклу while с помощью оператора if, используя [db hasAnotherRow], но это возвращает NO, даже если результирующий набор действительно содержит результаты.
Когда я записываю полученный словарь (используя метод resultDict FMResultSet) на консоль, я получаю предупреждение от FMResultSet, в котором говорится: «Предупреждение: в этом наборе нет столбцов». хотя я могу использовать их в цикле while.
Я что-то здесь упускаю?