저는 Album이라는 핵심 데이터 엔티티를 가지고 있습니다. 앨범은 노래라는 엔티티 (노래라고 함)와 관계가 있으며 각 노래에는 임의의 수의 태그 엔티티 (태그 속성에서)가 있고 태그에는 이름이 있습니다. 이제 앨범에있는 노래에 태그가 포함되어 있는지 확인하고 싶습니다. 단일 NSPredicate를 사용합니다. 마음에 온NSPredicates와 이중 대 n 관계
아이디어였다
[NSPredicate predicateWithFormat: @"ANY (ANY songs).tags LIKE %@", someTagName];
그러나 이것은 런타임 오류가 발생합니다 ("형식 문자열을 구문 분석 할 수 없습니다"). 나는 성공하지 못한 채 다양한 변형을 시도했다.
이렇게 할 방법이 있습니까?
정말 좋았습니다. 시도했지만 다시 붙어 있습니다. 이것은 보통 내게 자주 발생하지 않습니다 ... 이제 다음과 같은 예외가 발생합니다 : *** 캐치되지 않은 예외 'NSUnknownKeyException'으로 인해 응용 프로그램 종료 중, 이유 : '[ valueForUndefinedKey :] : 엔티티 앨범은 키 "노래. @ distinctUnionOfSets.labels"에 대해 키 값 코딩을 준수하지 않습니다. 나는 둥글 랐지만, @distinctUnionOfSets을 놓을 수있는 곳을 찾지 못했습니다. 내가 잘못하고있는 어떤 단서가 있습니까? –
@Julian 죄송합니다. 이것은 테스트하지 않고 작성한 것에 대한 제 잘못입니다. 함께 플레이 할 핵심 데이터 프로젝트가 없기 때문에 머리 꼭대기에서 일하고 있습니다. @distinctUnionOfSets가 아닌 @unionOfSets을 사용해 보셨습니까? 나는 항상이 집합 연산자로 조금 고투한다. 종종 [album valueForKeyPath : @ "@ songs.tags"]와 같은 줄에 중단 점을 넣고 결과가 디버거에 있는지 확인해야합니다. 집합이라면 @ unionOfSets.songs.tags가 설정해야합니다. 그것이 다른 것이라면 keypath를 적절하게 수정해야합니다. –