3
我有一個塊謂詞,我精心製作,僅發現您無法在Core Data中使用它們。在謂詞中評估CoreData實體類型
NSPredicate *rootContactPredicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) {
BOOL isPersonAndRoot = ([[[evaluatedObject entity] name] isEqualToString:@"Person"] && [[(Person*)evaluatedObject accounts] count] == 0);
BOOL isAccountAndRoot = ([[[evaluatedObject entity] name] isEqualToString:@"Account"] && [(Account*)evaluatedObject root] == nil);
return isPersonAndRoot || isAccountAndRoot;
}];
所以我需要將其轉換爲標準的字符串格式謂詞,但我不清楚如何檢查評估對象的實體類型。 Person
和Account
實體是Contact
實體的子類,它是在提取請求中評估的類型。我希望它會看到子類型。
我希望entity.name可以解決某些事情......它沒有。 – 2013-05-03 15:48:23
這是模型中保存的數據(與應用程序一起編譯)與SQLite文件中保存的數據之間的區別...... – Wain 2013-05-03 15:49:08