檢查類型的對象類的我有以下核心數據模型:NSPredicate在迅速
現在我想提取類型CDOnlineContact和CDOfflineContact的所有對象。所以,我有以下fetchedController:
let fetchRequest = NSFetchRequest(entityName: "CDContact")
fetchRequest.predicate = NSPredicate(format: "??? %@", CDOnlineContact, CDOfflineContact) // <-- Here find only the object of class CDOnlineContact and CDOfflineContact
fetchRequest.sortDescriptors = [NSSortDescriptor(key: "fullname", ascending: true)]
let controller = NSFetchedResultsController(fetchRequest: fetchRequest,
managedObjectContext: self.context.managedObjectContext!,
sectionNameKeyPath: "firstLetter",
cacheName: nil)
controller.performFetch(nil)
我發現Objective-C的一些解決方案...
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"self isKindOfClass: %@", [NSNumber class]];
,但遺憾的是我不能在這樣迅速檢查類。 只有查詢:
mySecretObject is CDOnlineContact
在NSPredicate我不能做到這一點。所以我沒有任何想法只找到具有指定類的對象。
可能是更好的辦法是創建像onlineOfflineContact上CDProfile實體的新屬性,當CDOnlineContact或CDOfflineContact保存willSave方法,你可以將這個布爾值設置爲yes,默認爲NO。這樣你可以使用簡單的謂詞來獲取聯繫人,如「onlineOfflineContact ='YES'」 – Sandeep
@GeneratorOfOne謝謝,如果無法查詢類,那麼你的解決方案是一個好主意。另一種解決方案是如果類的名稱存儲在屬性中。 – Qeychon