2013-04-25 6 views
5

Uso MagicalRecord per importare i dati da Plist. Sto usando il codice meno importato come spiegato in questo tutorial Importing Data Made Easy.Importazione di dati tramite MagicalRecord

Ho due entità Produttore e Auto, hanno rispettivamente una a molte e una relazione uno a uno.

Core Data Model

struttura Plist

enter image description here

Questo lavoro di importazione bene

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) { 

}]; 

Ma questo è non farsi importata

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

}]; 

Qualsiasi spiegazione sarebbe molto apprezzata.

EDIT: Registro dei produttori di serie

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

Mh. Riceverai qualche uscita della console? Il NSError è zero? Hai provato a registrarlo? Forse i produttori sono nulli? – Pfitz

+0

@Pfitz importFromObject: funziona bene ma importFromArray: no. – Anupdas

risposta

2

Il problema sembra essere come un insetto in MagicalRecord, ha trovato un open bug filed per questo problema.

MR_importFromArray: utilizza MR_saveWithBlock: in sostituzione con saveWithBlockAndWait: risolve il problema. Bug Fix