2016-07-24 5 views
1

삭제 명령 : 준코어 데이터는 충돌의 ViewController이 후에도 내 핵심 데이터 기반 응용 프로그램에 자동 저장을 추가하려고하고 있었고, 난이 CollectionViewItem에 textDidChange에 추가 코드의 라인이 있었다

theNote?.updateChangeCount(NSDocumentChangeType.ChangeDone) 

나 오류가 많아서 주석을 달았습니다. 그런 다음 CocoaAppCD.storedata 영구 저장소 파일을 삭제하여 저장소를 깨끗하게 만들었습니다 (초기 영구 저장소에있는 모든 항목이 무작위 테스트 자료입니다).

지금, 핵심 데이터 명령이 내 ViewController를 중단시키는 것을 발견했습니다. 특히이 기능 :

func createNewNotebook(folderURL: NSURL) 
{ 

    let currentNotebook = Notebook(entity: sv.noteType, insertIntoManagedObjectContext:sv.context) 

    currentNotebook.folderURLstring = folderURL.absoluteString 

    let noteSet = currentNotebook.mutableSetValueForKey("contains") 
    print(String(noteSet)) 

    intakeFilesFromFolder(noteSet, currentFolderURL: folderURL) 

} 

(노트북 및 NoteEntity 내 핵심 데이터 모델의 두 엔티티 유형입니다.) 중 하나 currentNotebook.folder이 ... 또는하자 noteSet ...이 실행을 명령하면, 나는 이러한 오류에서 얻을 내 콘솔 :

Brouillon.NoteEntity folderURLstring]: unrecognized selector sent to instance 0x6080000a3a20 

2016-07-24 19:27:02.622 Brouillon[8006:361665] Failed to set (contentViewController) user defined inspected property on (NSWindow): -[Brouillon.NoteEntity folderURLstring]: unrecognized selector sent to instance 0x6080000a3a20 

과 WindowController (나는 지금은 주석 처리 된 라인을 추가하기 전에이 같은 문을 근무했다하더라도)을 충전없이 볼 수있는 비어 있습니다. 그러나 코어 데이터 문이 실행되지 않도록이 함수를 무시하면 뷰가로드됩니다. 나는 데이터베이스에 더러워진 것이 있으면 CocoaAppCD.storedata 파일을 삭제하면 그것을 고쳐야한다고 생각했을 것이다. 그리고 매번 실행 한 후에 그 파일을 삭제하지 않고 계속 유지해야한다. 그러나 Core Data의 어떤 것이 여전히 나를 위해 망가져있는 것처럼 보입니다 - 어떤 아이디어입니까?

답변

0

나는 이것을 알아 냈다. 문제는 필자가 잘못된 엔티티 유형을 선언했기 때문입니다. 내 sv.noteType은 NoteEntity보다는 Notebook 이었으므로 sv.notebookType이어야합니다. (이 오류는 sv로 인스턴스화 된 클래스를 작성할 때 다른 방식으로 복사 된 코드를 유지하는 클래스로 도입되었을 것입니다.)