서버에서 데이터를 가져온 다음 모든 데이터를 Core Data에 저장합니다. 하지만 저장하면 여러 복사본 (중복 데이터)이 생성됩니다.
내 질문은 다음과 같습니다.
Core Data에서 중복 데이터를 처리하는 방법은 무엇입니까?
CoreData에서 Swift를 사용하여 재정의 데이터를 저장하는 방법은 무엇입니까?
핵심 데이터에 새 데이터를 저장하려면 핵심 데이터에서 모든 레코드를 삭제 한 다음 모든 레코드를 핵심 데이터에 저장할 수 있습니다.
핵심 데이터에서 모든 레코드를 삭제하는 기능입니다. 핵심 데이터에 레코드를 저장하기 전에이 함수를 호출 할 수 있습니다.
func deleteEverything()
{
let appDel = UIApplication.sharedApplication().delegate as! AppDelegate
let context = appDel.managedObjectContext
let coord = appDel.persistentStoreCoordinator
let fetchRequest = NSFetchRequest(entityName: "Categorytbl") // Your entity name
if #available(iOS 9.0, *)
{
let deleteRequest = NSBatchDeleteRequest(fetchRequest: fetchRequest)
do
{
try coord.executeRequest(deleteRequest, withContext: context)
}
catch let error as NSError
{
debugPrint(error)
}
}
else
{
// Fallback on earlier versions
do{
let fetchedObjects : NSArray = try context.executeFetchRequest(fetchRequest)
if(fetchedObjects.count > 0)
{
for currObj in fetchedObjects
{
context.deleteObject(currObj as! NSManagedObject)
}
let _ : NSError! = nil
do {
try context.save()
} catch {
print("Error in Deletion : \(error)")
}
}
}
catch let error as NSError
{
debugPrint(error)
}
}
}
나는 같은 문제가 있었다. 내 끝에서 잘 작동합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다