2013-04-25 42 views
5

我使用MagicalRecord从plist导入数据。我按照本教程Importing Data Made Easy中的说明使用少量导入代码。使用MagicalRecord导入数据

我有两个实体制造商和汽车,他们分别有一对多和一对一的关系。

Core Data Model

的plist结构

enter image description here

此导入做工精细

NSArray *manufacturers = ... 

[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) { 
     [manufacturers enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { 
      [Manufacturer MR_importFromObject:obj inContext:localContext]; 
     }]; 
    } completion:^(BOOL success, NSError *error) { 

}]; 

但这没有得到进口

[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) { 
     [Manufacturer MR_importFromArray:manufacturers inContext:localContext]; 
    } completion:^(BOOL success, NSError *error) { 

}]; 

任何解释将不胜感激。

编辑:登录厂商阵列的

[ 
    { 
     "Cars": [ 
      { 
       "CarID": 1, 
       "Name": "Civic" 
      }, 
      { 
       "CarID": 2, 
       "Name": "Jazz" 
      }, 
      { 
       "CarID": 3, 
       "Name": "City" 
      } 
     ], 
     "ManufacturerID": 1, 
     "Name": "Honda" 
    } 
] 
+0

Mh。你有任何控制台输出? NSError是否为零?你有没有试过登录它?制造商可能是零? – Pfitz 2013-04-25 08:43:53

+0

@Pfitz importFromObject:工作正常,但importFromArray:不是。 – Anupdas 2013-04-25 08:46:22

回答

2

这个问题似乎像在MagicalRecord一个bug,发现了一个open bug filed此问题。

MR_importFromArray:正在使用MR_saveWithBlock:替换为saveWithBlockAndWait:解决了问题。 Bug Fix