2013-08-08 3 views
0

나는 과의 관계가 Entity A이 있습니다.핵심 데이터 : 약속 가져 오기 또는 기본 주 가져 오기

    Entity A -->> Entity B 

하나 이상의 화면에서 다 대다 관계의 수를 참조해야합니다. 또한 Entity B에 대한 참조를 제거하고 Entity A에서 여러 번 추가 할 수 있습니다.

이제 질문은 : 관계 수를 참조하는 가장 좋은 방법은 무엇입니까?

내가 관찰 한 내용 :

1] count 속성을 Entity A에 만들고 관계 개수에 따라이를 증가/감소시킨 다음 필요한 화면에서이 속성을 가져올 수 있습니다.

2] 또한 NSSet (관계 중)의 카운트 속성에서 count을 얻을 수 있습니다.이 방법을 사용하면 EntityA을 가져올 필요가 없습니다. 나는 단순히

 NSSet *set = EntityA.EntitiesB; 
     NSInteger count = set.count; 

이 방법은 어떻게 가져하지만 EntityA 다시하고 다시 가져 오기 요청을 만들 필요가 없습니다, 할 수 있습니다.

감사합니다.

답변

1

실제로는 아무것도 가져올 필요가 없습니다. 적절한 조건자를 사용하여 가져 오기 요청을 작성한 다음 countForFetchRequest:error:을 사용하여 계산할 수 있습니다. 가져 오기 요청 템플릿 (setFetchRequestTemplate:forName:)을 만든 다음 사용해야 할 경우 fetchRequestFromTemplateWithName:substitutionVariables:을 사용할 수도 있습니다.

+0

나는 그것을 시도하고 이것에 관해 당신에게 돌아올 예정이다. 감사. –

+0

다른 목적으로 이미 'A'를 가져온 경우 관계 설정을 계산하면됩니다. – Wain

+0

성능이 현명한 경우 어느 것이 더 낫습니다 : countForFetchRequest : 오류 : 또는 관계 집합의 개수를 사용합니까? 관계 카운트를 참조 내보기에서 또한 Mangaed 개체 컨텍스트에 히트. 여러 화면에서 여러 번이 작업을 수행해야하므로 확실하게 알고 싶습니다. –

1

관계 수를 사용하십시오. 이 패턴은 UI에 관계를 통합 할 때 (예 : 테이블 뷰의 행 수) 더 잘 맞을 것이며 사과의 샘플 코드에서 메서드가 표시됩니다. 개수 속성을 만들면 모델에 불필요한 복잡성이 추가 될 가능성이 큽니다.

관련 문제