Я новичок в приложении iOS. В моем приложении iPhone у меня есть тип sqlite базы данных (data.sqlite) и некоторые таблицы там (только таблица вызовов: A, B, C, ...) У меня возникла проблема, когда я пытаюсь обновить данные в таблицах: таблица A может успешно обновляться на симуляторе и устройстве iPhone. Но таблица B просто может обновляться на симуляторе, не может обновляться на устройстве iPhone (после обновления она показывает НОВЫЕ данные, но если действительно закрыто приложение - дважды нажмите кнопку «домой» и закройте приложение, а затем снова откройте приложение, данные - OLD-данные)FMDB sqlite не может обновить таблицу на устройстве, но может обновить на симуляторе
Этот код для инициализации базы данных
- (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];
}
}
Я использую тот же код для таблицы обновления, и таблица а обновление успешно на устройстве и симулятором. Но таблица B становится проблемой. Пожалуйста помоги. Спасибо.