使用iOS插入和更新核心数据中的记录

时间:2015-04-09 18:45:41

标签: ios database core-data

当ios移动应用程序第一次启动时,根据用户点击连接到服务器。

让我详细解释一下:

  1. 最初连接到服务器,解析信息并存储到数组中。所以,我能够将元素数组插入到数据库中。
  2. 现在应用程序下次启动,基于用户点击,我可以获得不同的元素数组。
  3. 现在能够从数据库中检索记录并需要检查是否已将最新记录插入数据库?
  4. 请告诉我们,如何插入数据库中没有的记录。

1 个答案:

答案 0 :(得分:0)

您是否使用带有MagicalRecords的CoreData?

这是我的代码片段,检查是否存在记录并保存数据:

UIApplication *application = [UIApplication sharedApplication];

__block UIBackgroundTaskIdentifier bgTask = [application beginBackgroundTaskWithExpirationHandler:^{
    [application endBackgroundTask:bgTask];
    bgTask = UIBackgroundTaskInvalid;
}];

[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {
    ChatMessage* chatMessage = [ChatMessage MR_findFirstByAttribute:@"messageID" withValue:@198964 inContext:[NSManagedObjectContext MR_rootSavingContext]];

    if(!chatMessage) //If there isn't any record with messageID 198964 then your programmatically create one
       chatMessage = [ChatMessage MR_createInContext:localContext];

    [chatMessage set...];
    .........


} completion:^(BOOL success, NSError *error) {
    [application endBackgroundTask:bgTask];
    bgTask = UIBackgroundTaskInvalid;
}];