Ho due classi, Società e MyCompany. MyCompany è una sottoclasse di Company e Company è una sottoclasse di NSManagedObject. Sto provando a scrivere un predicato per una NSFetchRequest che restituirà i risultati della classe Company, ma filtra gli oggetti MyCompany.NSPredicate che filtra i risultati della sottoclasse
Ho provato quanto segue (suggerito da qui https://stackoverflow.com/a/8065935/472344):
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"class != %@",NSStringFromClass([myCompany class])];
ma ottengo un errore:
'keypath class not found in entity <NSSQLEntity CKCompany id=1>'
Ho anche provato (suggerito da qui https://stackoverflow.com/a/11693983/472344, so che voglio davvero non SELF isKindOfClass, ma stavo testando con lo stesso identico comando fornito nella risposta):
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self isKindOfClass: %@", [myCompany class];
E ottenuto il seguente errore:
'Unknown/unsupported comparison predicate operator type'
Come posso scrivere un predicato per ottenere ciò che voglio? Sto supportando iOS 5 e versioni successive.
La classe in questione non è un NSObject quindi non risponde a "class" o "className" – Stavash
Company e MyCompany sono NSObjects come ereditano da NSManagedObject, ma mi rendo conto ora che il predicato viene applicato al NSSQLEntity e quindi la mia situazione non è equivalente alla situazione a cui le risposte stavano rispondendo. Tuttavia ho ancora bisogno di una soluzione al mio problema. – Darren