2017-02-23 5 views
0

CoreData의 모든 NSObject를 동시에 제거하는 방법을 알려줄 수 있습니까?코어 데이터 (모든 NSObject)에서 모든 것을 제거하는 방법은 무엇입니까?

현재 루프를 사용했지만 데이터 크기가 더 많을 때 더 많은 시간이 걸리는 것은 좋지 않다고 생각합니다. 미리 감사드립니다.

+0

이 항목 확인 http://stackoverflow.com/questions/1383598/core-data-quickest-way-to-delete-all-instances-of-anentity –

+0

이 링크 확인 http://stackoverflow.com/questions/1077810/delete-reset-all-entries-in-core-data –

답변

0

NSFileManager : removeItemAtPath :: 메서드를 사용하여 프로그래밍 방식으로 파일을 삭제할 수 있습니다.

NSPersistentStore *store = ...; 
NSError *error; 
NSURL *storeURL = store.URL; 
NSPersistentStoreCoordinator *storeCoordinator = ...; 
[storeCoordinator removePersistentStore:store error:&error]; 
[[NSFileManager defaultManager] removeItemAtPath:storeURL.path error:&error]; 

그런 다음 영구 저장소를 다시 추가하여 제대로 다시 만들어야합니다.

각 엔티티를 반복적으로 처리하는 프로그래밍 방식은 속도가 느리고 오류가 발생하기 쉽습니다.

저장소를 제거하고 다시 만드는 것만으로 빠르고 안전하며 런타임에 프로그래밍 방식으로 확실히 수행 할 수 있습니다.