Я новичок в приложении для iOS. В моем приложении для iPhone у меня есть тип базы данных sqlite (data.sqlite) и несколько таблиц (просто вызовите table: A, B, C, ...). У меня проблема, когда я пытаюсь обновить данные в таблицах: table A может успешно обновиться на симуляторе и устройстве iPhone. Но таблица B может обновляться только на симуляторе, не может обновляться на устройстве iPhone (после обновления она показывает НОВЫЕ данные, но если действительно закрытое приложение - дважды щелкните кнопку «Домой» и закройте приложение. А затем снова откройте приложение, данные - это СТАРЫЕ данные)
Этот код предназначен для базы данных инициализации
- (id)init {
self = [super init];
NSString *bundelFilePath = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"sqlite"];
NSString *dbPath = [LIBRARY_DIR stringByAppendingPathComponent:@"data.sqlite"];
//New version
if ( ![[NSFileManager defaultManager] fileExistsAtPath:dbPath] ) {
[[NSFileManager defaultManager] copyItemAtPath:bundelFilePath toPath:dbPath error:nil];
_database = [FMDatabase databaseWithPath:dbPath];
[_database open];
}
return self;
}
Этот код предназначен для обновления
- (void)updateDetails:(NSMutableArray *)details {
@synchronized(self) {
[_database beginTransaction];
for (int i = 0; i< details.count; i++) {
B *b = [details objectAtIndex:i];
NSString *sql = [NSString stringWithFormat:@"UPDATE B SET display_order=%d WHERE columnIdx=%d", i, b.colIdx];
[_database executeUpdate:sql];
}
[_database commit];
}
}
Я использую тот же код для обновления таблицы A, а таблица A успешно обновляется на устройстве и симуляторе. Но у таблицы B возникла проблема. Пожалуйста помоги. Спасибо.