0
示例:我有一個朋友列表,我從Web服務器中將其作爲XML檢索。在設備上,我想用本地更新功能存儲這些朋友。但我只想存儲新朋友。爲了保持簡單,我僅以他們的名字來區分他們(是的,那很糟糕!)。如何在保存新對象之前檢查對象是否已經存在於數據庫中?
隨着XML解析器遍歷XML,它爲所有朋友生成託管對象並將它們掛到託管對象上下文中。但在保存上下文之前,我想擺脫已經在數據庫中的所有「新」朋友。目前,我有:
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Friend" inManagedObjectContext:context];
NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
[request setEntity:entityDescription];
[request setPredicate:[NSPredicate predicateWithFormat:@"firstName == 'George'"]];
NSError *error = nil;
NSArray *array = [context executeFetchRequest:request error:&error];
的問題是,大概是:它會發現,在整個管理對象上下文的朋友,所以也那些不在數據庫中還沒有。我怎麼能確保我只保存那些真正新的東西,並在保存之前丟棄重複的東西?