我正在使用coreData,我有两个实体“部门”,“员工”和“部门”与员工有一对多的关系。
我的应用程序离线工作正常,我可以添加部门和内部,我可以添加员工。
为了添加Dept我使用NsFetchResultsController。
以下是我添加它的方式
// AddDeptVC.m
- (void)insertNewObject:(NSString *)DeptName
{
NSManagedObjectContext *context = [m_controller managedObjectContext];
//Creating a new instance of an managed object.
Dept *dept = [NSEntityDescription insertNewObjectForEntityForName:@“Dept” inManagedObjectContext:self.managedObjectContext];
[dept setDeptName: DeptName];
//Commit the changes and save the context to store.Before this process all the changes are local.
NSError *error;
if (![context save:&error]) {
// Replace this implementation with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
//Error handling
}
}
现在我想将这些数据同步到服务器,作为回报,服务器会向我发送一些部门及其员工,我需要将其添加到我的coreData数据库并更新我的表。
为此,我创建了一个名为WebServiceClass的类,它将进行推拉,将数据推送到服务器工作正常,但现在当服务器返回响应时,我这样做了
//这是用webService类编写的。
// WebServiceClass.m
Dept *dept = [NSEntityDescription insertNewObjectForEntityForName:@“Dept” inManagedObjectContext:self.managedObjectContext];
[dept setDeptName: [responseDict objectForKey:@"deptName"];
//Commit the changes and save the context to store.Before this process all the changes are local.
NSError *error;
if (![context save:&error]) {
// Replace this implementation with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
//Error handling
}
但这不是更新我的表格。
这是我的疑惑。 1)我是否朝着正确的方向前进。 2)如果是,那么为什么我的表没有更新。 3)是他们比这更好的方法。