2011-10-28 5 views
0

동일한 속성으로 새 항목을 만들기 전에 엔티티가 이미 있는지 확인하려면 어떻게합니까? 또는 CoreData가 이미 엔티티를 만들지 못할 정도로 영리한가요?새 항목을 만들기 전에 기존 항목 확인

예를 들어, 이름과 ID가 속성 인 Employee 엔티티가 있습니다. 이제 사용자는 대화 상자 화면을 통해 새 Employee를 생성하지만이 Employee는 id를 기반으로 이미 종료됩니다 (이름이 같은 직원이있을 수 있음). 내가 가져 오기 요청을 만들 수있을 것 같아요,하지만 그 코드를 어디에 넣어야합니까, 내가 이것을하기 위해 Employee 클래스를 만들어야합니까?

편집 : 내 질문을 게시 한 후이 페이지를 찾았습니다 : http://www.macresearch.org/cocoa-scientists-part-xxiii-itunes-ifying-core-data-app 그럴 수있는 방법이겠습니까? 더 많은 엔티티가있는 것처럼 보입니다. 많은 코드를 복제하고 있습니다.

답변

0

핵심 데이터를 사용하면 objectID를 제외한 모든 항목이 동일한 관리 대상 개체를 만들 수 있습니다.

가장 간단한 해결책은 중복 된 직원 이름을 허용하지 않는 것입니다. 사용자가 새 직원을 입력하면 키보드 나 마우스를 통해 이벤트를 트리거합니다. 이 이벤트의 작업 방법에서 입력 한 이름이 기존 이름과 일치하는지 확인하여 사용자의 항목을 먼저 확인합니다. 인용 한 링크는 사용할 수있는 가져 오기 요청의 예를 보여 주지만 일치하는 개체의 수를 가져 오는 방법을 조사하는 것이 더 효율적일 수 있습니다. 일치하는 항목이 있으면 경고를 표시합니다.

중복 된 이름을 허용하려는 경우 CoreData가 지정한 objectID를 사용하여 항목을 구분할 수 있습니다. 그러나 사용자는 ID가 무엇인지 알 수 없습니다. 따라서 이름 일치가 있는지 확인하고 동일한 이름의 별도 직원 항목을 실제로 만들지 여부를 묻는 확인 대화 상자를 표시해야합니다.

+0

감사합니다. - 해당 링크의 코드를 구현하고 제안 내용을 살펴 보겠습니다. 어쩌면 그것을 카테고리에 넣을 것이므로 모든 엔티티에 사용할 수 있습니다. – Koen

관련 문제