Как очистить базу данных SQLite при выходе из приложения? - PullRequest
0 голосов
/ 05 сентября 2011

В моем приложении я хотел бы полностью очистить содержимое базы данных SQLite при выходе из приложения.Как бы я это реализовал?

Ответы [ 4 ]

3 голосов
/ 05 сентября 2011

вы можете написать этот метод в файле appdelegate.

- (void)applicationWillTerminate:(UIApplication *)application {
    [[NSFileManager defaultManager] removeItemAtPath:[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"<your db with extention>"]] error:NULL];
}
0 голосов
/ 05 сентября 2011

вы можете использовать перетаскиваемую таблицу, если она поддерживается в iphone, или вам нужно удалить файл yourDB.sqlite по пути в db.

NSFileManager *fMgr = [NSFileManager defaultManager];
[fMgr removeItemAtPath:dbPath error:NULL];

это удалит ваш файл из приложения.1005 *

0 голосов
/ 05 сентября 2011

Вы можете использовать applicationWillTerminate или applicationWillEnterBackground.

Важно отметить, что на симуляторе, если ваше приложение запущено, а вы строите и запускаете снова из XCode, процесс просто прекращается. Это не заканчивается хорошо и пройти через ваши функции выхода.

Если вы нажмете кнопку «Домой» на симуляторе, будет вызван applicationWillEnterBackground, если вы затем дважды щелкните по кнопке удержания и завершите свое приложение из дока многозадачности, будет вызван applicationWillTerminate.

0 голосов
/ 05 сентября 2011

Вы можете использовать оператор delete в sqlite в методе appdelegate, написать код done в приведенном ниже методе или использовать его в методе applicationdidenterbackground appdelegate.

- (void)applicationWillTerminate:(UIApplication *)application 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...