두 클래스 인 Company와 MyCompany가 있습니다. MyCompany는 Company의 하위 클래스이고 Company는 NSManagedObject의 하위 클래스입니다. 클래스 회사의 결과를 반환하지만 MyCompany 개체를 필터링 할 NSFetchRequest에 대한 조건부를 작성하려고합니다.하위 클래스 결과를 필터링하는 NSPredicate
나는 (https://stackoverflow.com/a/8065935/472344 여기에서 제안) 다음과 같은 시도 :
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"class != %@",NSStringFromClass([myCompany class])];
하지만 내가 오류 얻을 :
나는 또한 시도'keypath class not found in entity <NSSQLEntity CKCompany id=1>'
(여기 https://stackoverflow.com/a/11693983/472344에서 제안을, 내가 정말 원하는 알고 SELF isKindOfClass가 아니지만 대답과 똑같은 명령으로 테스트 한 것입니다.)
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self isKindOfClass: %@", [myCompany class];
그리고 다음과 같은 오류 있어요 :
'Unknown/unsupported comparison predicate operator type'
어떻게 내가 원하는 것을 달성하기 위해 술어를 쓸 수 있습니까? iOS 5 이상을 지원합니다. 페치 요청이 요청 정확하게 개체 타입의 객체를 반환하고 subentities을 포함하지 않도록
해당 클래스가 NSObject가 아니므로 "class"또는 "className"에 응답하지 않습니다. – Stavash
회사 및 MyCompany는 NSManagedObject에서 상속하는 것처럼 NSObject이지만 NSAnifiedObject에서 상속 한 것처럼 NSObject입니다.하지만 이제는 술어가 NSSQLEntity 그래서 내 상황은 그 응답이 응답 상황에 해당하지 않습니다. 그러나 나는 여전히 내 문제에 대한 해결책이 필요하다. – Darren