2014-01-14 5 views
0

Я использую magicalrecord и присваиваю свои свойства json details.slots.MagicalRecord keypath

Моя JSON выглядит так

"details": { 
    "startTimestamp": "2014-01-13", 
    "endTimestamp": "2014-01-16", 
    "employeeId" : 176, 
    "slots": [ 
    { 
     "numberOfAppointments": 0, 
     "numberOfSpots": 1, 
     "isReserved": 0, 
     "startTimestamp": "2014-01-13 08:00:00", 
     "endTimestamp": "2014-01-13 08:05:00" 
    }, 
    { 
     "numberOfAppointments": 0, 
     "numberOfSpots": 1, 
     "isReserved": 0, 
     "startTimestamp": "2014-01-13 08:05:00", 
     "endTimestamp": "2014-01-13 08:10:00" 
    }, 
    { 
     "numberOfAppointments": 0, 
     "numberOfSpots": 1, 
     "isReserved": 0, 
     "startTimestamp": "2014-01-13 08:10:00", 
     "endTimestamp": "2014-01-13 08:15:00" 
    }, 
    .... 

Я задавался вопросом, есть простой способ отображения поля к полю на уровень выше? IE Я могу использовать my.object.property, чтобы развернуть, но все равно, если мой импорт импортирует массив slots, чтобы легко добавить employeeId для каждого объекта? Слоты могут составлять всего 600 записей до нескольких тысяч.

Единственное решение, о котором я могу думать, - это перебирать каждый слот и добавлять его вручную, прежде чем запускать импорт магической записи. Кто-нибудь знаком с другим, более простым способом сделать это?

ответ

0

Одним из способов вы могли бы добиться этого с нынешней системы заключается в реализации метода

- (BOOL) importDetails:(id)data; 

В вашей организации. Импорт MagicalRecord будет искать этот метод и вызывать его на основе вашего имени свойства основных данных, если он будет реализован. Это означало бы, что вы в основном переписываете код импорта для всего массива, но у вас будет доступ к данным, которые вам нужны. Не идеально, но все же возможно.

Смежные вопросы