В моей таблице SQLite у меня есть столбец hasSubCountries, который должен хранить простое значение 0/1, потому что SQLite не имеет отдельного логического типа.
Копаясь в stackoverflow, я нашел этот вопрос, но это не решило мою проблему.
На данный момент в моей базе данных у меня есть столбец:
hasSubCountries integer DEFAULT 0
Изменили значение пары subCountries на 1.
И класс DBAccess я пытаюсь прочитать значение в объект:
countryObj.hasSubCountries=(sqlite3_column_int(statement, 6) == 1);
В коде viewController:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
Country* country = [[self.countries objectAtIndex:[indexPath section]] objectAtIndex:[indexPath row]];
if(country.hasSubCountries==1)
{
SelectedCountry *selCountry=[[SelectedCountry alloc]initWithNibName:@"SelectedCountry" bundle:nil];
[selCountry setTitle:@"Country"];
[selCountry setCountryID:country.countryID];
[self.navigationController pushViewController:selCountry animated:YES];
[selCountry release];
}
else
{
SubCountries *subCountries=[[SubCountries alloc]initWithNibName:@"SubCountries" bundle:nil];
[subCountries setTitle:@"Sub"];
[self.navigationController pushViewController:subCountries animated:YES];
[subCountries release];
}
NSLog(@"%d ... %d",country.hasSubCountries,country.countryID);
}
Ну, NSLog говорит мне, что в любом случае я получаю 0, и поэтому 'if' подталкивает меня к @"Sub". Где я ошибся?
Название и ID страны я получаю без проблем. Посмотреть скриншот
Полное определение таблицы: