내 응용 프로그램에서 응용 프로그램이 종료 될 때 SQLite 데이터베이스의 내용을 완전히 지우고 싶습니다. 어떻게 구현할 수 있습니까?응용 프로그램 종료시 SQLite 데이터베이스를 지우려면 어떻게합니까?
0
A
답변
3
이 방법을 appdelegate 파일에 쓸 수 있습니다.
- (void)applicationWillTerminate:(UIApplication *)application {
[[NSFileManager defaultManager] removeItemAtPath:[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"<your db with extention>"]] error:NULL];
}
0
당신은 아래의 방법으로 코드를 다 쓰기는 AppDelegate에 방법에 sqlite가에서 삭제 문을 사용하거나 applicationDidEnterBackground :와 AppDelegate에 방법에 사용할 수 있습니다.
- (void)applicationWillTerminate:(UIApplication *)application
0
당신은 applicationWillTerminate
또는 applicationWillEnterBackground
를 사용할 수 있습니다.
중요한 점은 시뮬레이터에서 앱이 실행 중이고 Xcode에서 빌드하고 다시 실행하면 프로세스가 종료된다는 것입니다. 그것은 잘 종료되지 않고 출구 함수를 통해 이동합니다.
시뮬레이터의 홈 버튼을 누르면 applicationWillEnterBackground
이 호출됩니다. 그런 다음 보류 버튼을 두 번 클릭하고 멀티 태스킹 도크에서 앱을 종료하면 applicationWillTerminate
이 호출됩니다.
0
iphone에서 지원하거나 db의 경로에서 yourDB.sqlite
파일을 삭제해야하는 경우 드롭 테이블을 사용할 수 있습니다.
NSFileManager *fMgr = [NSFileManager defaultManager];
[fMgr removeItemAtPath:dbPath error:NULL];
이렇게하면 앱에서 파일이 삭제됩니다.
관련 문제
- 1. 프로그램 종료시 derby 테이블 삭제
- 2. 다른 응용 프로그램의 격리 된 저장소를 지우려면 어떻게합니까?
- 3. 주 응용 프로그램 종료시 정상적으로 스레드 종료
- 4. Windows Mobile 용 응용 프로그램 종료시 (C#)
- 5. 응용 프로그램 종료시 Executor를 수동으로 종료해야합니까?
- 6. SWT ExpandBar의 배경을 지우려면 어떻게합니까?
- 7. IronPython 콘솔에서 화면을 지우려면 어떻게합니까?
- 8. 소멸자가 프로그램 종료시 호출
- 9. 종료시 프로그램 충돌
- 10. 안드로이드는 전화로 SQLite 데이터베이스를 검색합니다
- 11. iPhone이 런타임시 SQLite 데이터베이스를 만드시겠습니까?
- 12. mySQL 데이터베이스를 iPhone 응용 프로그램
- 13. 페이지를로드하기 전에 WebView의 내용을 지우려면 어떻게합니까?
- 14. 안드로이드 응용 프로그램 개발에서 SQLite 데이터베이스 동작
- 15. 프로그램 종료시 PHP 가변 손실
- 16. SQLITE 쿼리 강제 종료 응용 프로그램 닫기
- 17. 활동을 떠나기 전에 갤러리보기를 지우려면 어떻게합니까?
- 18. CommandManager에서 등록한 명령 바인딩을 지우려면 어떻게합니까?
- 19. Active Directory에서 사용자 개체 특성을 지우려면 어떻게합니까?
- 20. VBA를 사용하여 Access에서 테이블을 지우려면 어떻게합니까?
- 21. oracle에서 많은 참조가있는 테이블을 지우려면 어떻게합니까?
- 22. 웹 응용 프로그램 데이터베이스를 Windows 응용 프로그램 데이터베이스와 동기화하는 방법
- 23. SQLite 데이터베이스를 Android에서 열려면 어떻게해야합니까?
- 24. 응용 프로그램 암호 및 SQLite 보안
- 25. 안드로이드 응용 프로그램을 설치할 때 sqlite 데이터베이스를 복사하는 방법
- 26. 손상으로부터 SQLite 데이터베이스를 보호하는 방법
- 27. 안드로이드에 존재 SQLite 데이터베이스를 사용하여
- 28. Blackberry 애플리케이션에 SQLite 데이터베이스를 포함시키는 방법은 무엇입니까?
- 29. 응용 프로그램 종료시 작업자 스레드 종료를 수행하는 데 필요한 후크
- 30. ActiveX 플러그인을 사용하면 VS2008의 응용 프로그램 종료시 ASSERT가 실패합니다.
도움을 주셔서 감사합니다. 하지만 문제는 여전히 존재합니다. 앱을 빌드하고 실행할 때마다 이전 내용이 그대로 남아 있습니다. – sajaz
먼저 프로젝트에 포함 된 rsd 파일을 살펴 봅니다. 이미 레코드가 채워져 있다고 생각합니다. 거기에서 모든 레코드를 제거하십시오. –
시뮬레이터를 직접 닫지 않고 직접 홈 버튼을 누르면 시뮬레이터를 다시 시작할 수 있습니다. 데이터베이스에서 모든 데이터 제거를 찾을 수 있습니다. –