2010-02-11 155 views
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]; 

的問題是,大概是:它會發現,在整個管理對象上下文的朋友,所以也那些不在數據庫中還沒有。我怎麼能確保我只保存那些真正新的東西,並在保存之前丟棄重複的東西?

回答

1

使用唯一的ID。爲您的朋友實體添加一個屬性。例如,它可能是Web數據庫的主鍵。

相關問題