我是新手Core Data
,想知道是否可以根据对象的属性获取对象,更具体地说,是我分配给它的唯一 ID。我正在尝试这样做,因为我正在与 Web 服务器交互,该服务器提供的数据将更新Core Data
. 我想搜索每个 Web 服务器对象,检查时间戳,如果不同,则从核心数据中检索该对象并进行更新。我看过使用existingObjectWithId
,但似乎我必须知道我正在搜索哪个对象,或者该对象的 ID。我还考虑过对两个数组中的数据进行排序,然后同时检查每个数组,但认为这是不可行的。
这是我到目前为止正在做的事情:
-(NSMutableArray*) updateRootBeers:(NSMutableArray*)webRootBeerList{
NSManagedObjectContext* moc = [self managedObjectContext];
NSFetchRequest* fetchRequest = [[NSFetchRequest alloc]initWithEntityName:@"Rootbeer"];
coreDataRootBeerList = [[moc executeFetchRequest:fetchRequest error:nil]mutableCopy];
//check to see if core data has data, if not, call function to populate the list
if (coreDataRootBeerList.count <=0) {
[self addRootBeerToCoreData:webRootBeerList];
}else{
//otherwise I want to update the core data object if object data is different.
for(RootBeer* currentRootBeer in webRootBeerList){
RootBeer* mRootBeer = [moc existingObjectWithId:currentRootBeer error:nil];
}
}
}
我还考虑过使用嵌套的 for 循环来检查每个数组中的数据,但这似乎是糟糕的编码。任何帮助或想法都会很棒。