与JSON数据的核心数据关系100%CPU需要很长时间

时间:2014-10-30 10:27:14

标签: ios json core-data cpu-usage magicalrecord

我目前正在开发一款iOS应用程序,它从Internet获取一些JSON并将其打包到Core Data数据库中。我也和MagicalRecord一起工作。

在这种情况下有2个对象:

  1. 网站 - 具有可以处理不同危险物品的ID
  2. 危险物品 - 有ID,UID
  3. "网站"的JSON;看起来像这样,只有120个条目,阵列" HazardousMaterials"包含Object" HazardousMaterial"的UID。该网站可以处理:

    {
        Id: 1,
        HazardousMaterials: [
        279, 315, 412, 434, 495, 502, 681, 696,
        997, 1009, 1094, 1162, 1191, 1391, 1412,
        1482, 1755, 1776, 1789, 2037, 2045, 2152,
        2186
        ],
    },
    

    现在我下载JSON字典并解析数据:

    for (NSDictionary *dictionary in sites) {
         Sites *site = [Sites createEntity];
         site.uid = [dictionary valueForKey: @"Id"];
    
         NSArray *hazardousMaterials = [dictionary objectForKey: @"HazardousMaterials"];
         for (NSNumber *hazardID in hazardousMaterials) {
              [site addHazardousMaterialsObject: [HazardousMaterial findFirstByAttribute: @"uid" withValue: hazardID]];
         }
    }
    [self saveContext];
    

    但是这个过程需要100%的CPU,而在iPhone 4(s)或iPod touch这样的老式iPhone上它会在一段时间后冻结,我怎样才能让这个过程更快/更容易?任何想法?

0 个答案:

没有答案