2013-04-25 78 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