제 아이오스 앱에서는 Magical Record와 NSFetchedResultsController를 사용하고 있습니다. 나는 기능 아래에 구현하기 위해 노력하고 있습니다 :Magical Record - DB 파일이 삭제 된 경우에도 중복 레코드가 나타납니다.
- 사용자가 설정 화면을 탐색
- 그는 선택 - 그는 화면 등록 다시 탐색한다
- 그의 모든 데이터가 삭제되고 '계정 삭제'
:- (void)cleanAndResetupDB { [MagicalRecord cleanUp]; BOOL isSuccess = YES; for (NSString *dbStore in [self dbBackups]) { NSError *error = nil; NSURL *storeURL = [NSPersistentStore MR_urlForStoreName:dbStore]; if(![[NSFileManager defaultManager] removeItemAtURL:storeURL error:&error]){ NSLog(@"An error has occurred while deleting %@", dbStore); NSLog(@"Error description: %@", error.description); isSuccess = NO; } } if (isSuccess) { [MagicalRecord setupCoreDataStackWithStoreNamed:CRP_DB]; } } - (NSArray *)dbBackups { NSString *shmFileName = [NSString stringWithFormat:@"%@-shm",CRP_DB]; NSString *walFileName = [NSString stringWithFormat:@"%@-wal",CRP_DB]; return @[CRP_DB,shmFileName,walFileName]; }
등록이 완료되면 사용자는 서버에서 관련 연락처를 검색하여 로컬 DB에 저장하는 연락처 화면으로 이동합니다. FRC는 로컬 DB에서 데이터를 검색하여 테이블 뷰로 표시하므로 데이터가 db에 저장 되 자마자 테이블 뷰에 자동으로 나타납니다.
문제 : 로컬 데이터베이스를 제거한 후 앱을 종료하면 다시 실행하면 적절한 레코드가 표시되지만 로컬 데이터베이스를 제거한 후에 앱을 종료하지 않으면 중복 레코드가 표시됩니다.
실마리가 있습니까?
여기를 참조하십시오. http://stackoverflow.com/questions/1077810/delete-reset-all-entries-in-core-data – johndpope