名前やタイプなどの属性を持つコア データ クラス SSSLicense があります。これは、isArchived という名前のブール属性を持つ SSSArchivableEntity と呼ばれる抽象エンティティから継承します。
DB からライセンス エンティティの完全なセットを既にフェッチしており、現在、タイプと isArchived フラグに基づいてフィルタリングしようとしています。しかし、述語のさまざまなバリエーションにもかかわらず、有効な結果を得ることができません。
関連するコードは次のとおりです。
NSSet *licenses = [person licenseList] ;
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(licenseType like %@) AND (isArchived == NO)",
lType];
NSSet *filteredLicenses = [licenses filteredSetUsingPredicate:predicate];
SSSLicense の別の属性 (isArchived の代わりに name など) を使用するように述語を変更すると、述語は機能します。SSSLicense に単純なブール属性を追加し、それを使用して正常にフィルタリングしました。
isArchived が抽象エンティティの属性であることが関係しているようです。継承された属性でフィルタリングするために何か特別なことをする必要がありますか?
ありがとう!