2011-08-19 3 views
1

내 앱에 핵심 데이터가 있습니다. 어떤 시점에서 데이터베이스에 새 이벤트를 추가해야합니다. 따라서 저는 다음과 같이합니다 :아이폰 - 커밋되지 않은 항목을 반환하는 데이터베이스 쿼리?

anEvent = [NSEntityDescription insertNewObjectForEntityForName:@"Events" inManagedObjectContext:context]; 

이렇게하면 값 채우기를 시작할 때 깨끗한 입력이됩니다.

사용자가 모든 이벤트 속성을 채우고 DONE을 마자 마자 데이터베이스에 다른 이벤트가 있는지 확인해야합니다. 앱에서 중복 된 항목을 허용 할 수 없습니다. 따라서 중복 이벤트가 데이터베이스에서 감지되면 사용자는 메시지를 받고 뭔가를 변경해야합니다. 중복이 없으면 데이터베이스에 항목을 커밋합니다. 중복 된 항목이 없으면 항목이 데이터베이스에 저장된다는 것을 기억하십시오. 핵심 데이터에서 어떻게 호출되는지는 모르지만 커밋되지 않은 항목은 일종의 "wannabe entry buffer"라고합니다.

문제는 다음과 같습니다. 데이터베이스를 쿼리하여 항목을 받으면이 항목이 있습니다. 따라서 중복에 대한 모든 검사는 사실이 될 것입니다.

어떻게 될 수 있습니까? 쿼리가 데이터베이스에 아직 커밋되지 않은 경우 엔 어떻게 항목을 쿼리에 나타낼 수 있습니까? 내가 뭔가 빠진거야?

예, 항목이 아직 쿼리에 표시된 시점에 커밋되지 않았 음을 확신합니다.

감사

답변

1

은 개체가 컨텍스트에 삽입하고 인출 요청은 컨텍스트에서 작동합니다. 따라서 새 항목이 귀하의 질의에 포함됩니다.

해결 방법을 사용할 수 있습니다. 로컬 변수에 모든 데이터를 저장하고이를 확인한 다음 입력이 정상이면 새 개체를 만들고 데이터를 삽입하십시오.

+0

감사합니다. 나는 이것이 트릭을 할 것이라고 생각한다. – SpaceDog

관련 문제