2013-04-25 21 views
5

Tôi đang sử dụng MagicalRecord để nhập dữ liệu từ plist. Tôi đang sử dụng mã ít nhập hơn như được giải thích trong hướng dẫn này Importing Data Made Easy.Nhập Dữ liệu bằng MagicalRecord

Tôi có hai thực thể Nhà sản xuất và ô tô, họ có một đến nhiều và một mối quan hệ tương ứng.

Core Data Model

cấu trúc Plist

enter image description here

việc nhập khẩu này tốt

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

}]; 

Nhưng điều này không nhận được nhập khẩu

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

}]; 

Mọi giải thích sẽ được đánh giá cao.

EDIT: Log của mảng sản xuất

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

Mh. Bạn có nhận được bất kỳ đầu ra console nào không? Là NSError nil? Bạn đã thử đăng nhập chưa? Nhà sản xuất có thể là nil không? – Pfitz

+0

@Pfitz importFromObject: hoạt động tốt nhưng importFromArray: không phải. – Anupdas

Trả lời

2

Vấn đề này có vẻ là giống như một lỗi trong MagicalRecord, tìm thấy một open bug filed cho vấn đề này.

MR_importFromArray: đang sử dụng MR_saveWithBlock: thay thế bằng saveWithBlockAndWait: giải quyết vấn đề. Bug Fix