많은 일대일 관계가있는 엔터티가 있습니다. NSFetchedResultsController를 사용하여 엔티티의 특정 속성을 테이블 뷰에 표시합니다. 엔티티가 가지고있는 모든 관계 중 단 1 개의 관계 값만 표시됩니다 (현재 cellforrowat ... 메소드에서 오류가 발생했습니다). 이것이 성능에 영향을 줄 수 있다고 생각됩니다. 페치 요청을 생성 할 때 특정 관계를 잘못 할 수 있습니까? CoreData는 테이블을 스크롤 할 때 값을 가져올 필요가 없습니까?주 엔터티를 가져올 때 CoreData 관계가 잘못되었습니다.
답변
설명하는 데이터 모델을 잘 모르겠습니다. 엔티티의 many-to-many 관계 중 하나의 멤버 만 테이블 행의 내용으로 표시하는 경우 가져 오기 요청에서 -setPropertiesToFetch :를 사용하여 표시된 각 행에 표시되는 속성 만 가져올 수 있습니다 당신이 설명하는 것은 일 관계에서되는 테이블 행에 표시되는 요소 중 하나와 기관의 목록 인 경우 배리 알처럼
NSArray *propertiesToFetch = [[NSArray alloc] initWithObjects:@"title", @"thumbnailImage", nil];
[fetchRequest setPropertiesToFetch:propertiesToFetch];
[propertiesToFetch release];
그러나이 -setRelationshipKeyPathsForPrefetching:
을 사용할 수 있습니다 : 예를 들면 다음과 같습니다. 그러나이 경우 데이터 모델을 비정규 화하여 해당 속성을 관계 내에서 원래 엔터티 내로 직접 이동하는 것이 좋습니다. 트래 버 싱 관계는 속성에 액세스하는 것보다 훨씬 비쌉니다.
수동으로 개체에 오류가 발생할 수 있지만 아무 것도 얻을 수 없다고 생각합니다. 한 번에 모든 개체에 오류가 발생 했든 필요에 따라 한 번에 하나씩 오류가 발생하는지 여부에 관계없이 각 개체는 여전히 개별적으로 오류가 발생합니다.
나는 당신이 묘사하는 것과 똑같이, 테이블 뷰에 표시하기 위해 많은 양의 데이터를 담고 있으며 성능 저하를 전혀 느끼지 못하는 앱을 작성했습니다. 표시 할 테이블 뷰 셀에 해당하는 객체 만 오류가 있음을 기억하십시오.
일반적으로 핵심 데이터를 능가하려고하지 마십시오. 이 시점에서 수년간 성능 최적화가 이루어졌습니다. 직관적으로, 100 개의 객체에서 100 개의 데이터베이스 쿼리가 필요하다는 오류가있는 것처럼 보일 수 있지만, 반드시 그런 것은 아닙니다.
첫 번째로 기본 코어 데이터 동작이 제안 된 방식보다 성능이 떨어지는 것으로 가정하지 않습니다. 데이터를 백업하지 않으면 최적화가 거의 실패 할 것입니다.
즉, 나는 -[NSFetchRequest setRelationshipKeyPathsForPrefetching:]
이 당신이 원하는 것을 성취 할 것이라고 믿습니다.
- 1. 문제를 저장 한 후 CoreData 관계가 사라졌습니다.
- 2. CoreData 관계가 삽입 후 업데이트되지 않습니다.
- 3. 주 * .proj 파일로 가져올 때 대상이 실행되지 않음
- 4. Windows 인증 사용시 IsInRole을 호출 할 때 주 도메인과 트러스트 된 도메인 간의 트러스트 관계가 실패했습니다.
- 5. CoreData RelationShips
- 6. crm 2011 조직의 연락처 엔터티를 가져올 때의 데이터베이스 인덱스 오류
- 7. 표시를 위해 왼쪽 가입을 사용하십시오. 3 주 데이터가 잘못되었습니다.
- 8. popViewController 때 뭔가 잘못되었습니다. 왜?
- 9. NSEntityDescription에서 엔터티를 가져 오는 방법
- 10. CoreData 엔터티가 상속
- 11. 엔터티를 저장할 때 중복 된 하위 항목
- 12. 상위 클래스에서 데이터를 가져올 때 상위/하위 관계가 열려있는 경우 여러 폼이 열린 경우
- 13. asp.net.vb 데이터가 없을 때 읽지 시도가 잘못되었습니다.
- 14. 관계가 비어있을 때 관리되는 개체를 삭제하는 방법
- 15. 존재하는 엔터티를 가져 오거나 새 엔터티를 생성하십시오.
- 16. 시작한 프로세스의 주 창 핸들을 가져올 수없는 이유는 무엇입니까?
- 17. CoreData 데이터가 백그라운드 스레드에로드 될 때
- 18. CoreData 속성 기준을 변경할 때 tableView를 변경하십시오.
- 19. Three20 + CoreData
- 20. CoreData 질문
- 21. 람다식이 잘못되었습니다.
- 22. fetchrequest에 대한 coreData 관련 질문
- 23. 해시를 배열, 주 및 약어로 어떻게 가져올 수 있습니까?
- 24. iphone coredata with two xcdatamodel
- 25. iOS 코어 생성 된 접근자를 사용하여 객체를 제거 할 때 데이터 대다 관계가 깨집니다.
- 26. 코어 데이터 일시적인 관계가 다른 영구 저장소의 엔터티를 가리킬 수 있습니까?
- 27. 여러 테이블의 쿼리 인 엔터티를 반환하는 방법
- 28. Eclipse 프로젝트를 가져올 때 IntelliJ의 모듈 종속성
- 29. jQuery 툴팁 (텍스트를 가져올 때)
- 30. DLL에서 함수를 가져올 때 System.EntryPointNotFoundException