2013-04-25 24 views
5

Używam MagicalRecord do importowania danych z plist. Używam mniej importowania kodu, jak wyjaśniono w tym samouczku Importing Data Made Easy.Importowanie danych przy użyciu MagicalRecord

Posiadam dwa podmioty, Producent i Samochód, mają one odpowiednio relację jeden do wielu i jeden do jednego.

Core Data Model

struktura PLIST

enter image description here

Ta praca import porządku

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

}]; 

Ale to nie jest uzyskiwanie importowane

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

}]; 

Wszelkie wyjaśnienia byłyby wysoko cenione.

EDIT: Log producentów tablicy

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

Mh. Czy otrzymujesz wyjście konsoli? Czy NSError zero? Czy próbowałeś to zarejestrować? Czy producenci mogą być zero? – Pfitz

+0

@Pfitz importFromObject: działa dobrze, ale importFromArray: nie jest. – Anupdas

Odpowiedz

2

Problem wydaje się być podobny błąd w MagicalRecord, znalazł open bug filed tego problemu.

MR_importFromArray: używał MR_saveWithBlock: zastępując saveWithBlockAndWait: rozwiązuje problem. Bug Fix

Powiązane problemy