Import rekordu magicznego (następny krok)

Postawiłem kolejny krok w tytule, ponieważ nie jest to ten sam problem, co moje poprzednie pytanie z prawie takim samym tytułem.

mamPerson jednostka.

Person
--------
name      - mappedKeyName: FullName
email     - mappedKeyName: EmailAddress
personID  - mappedKeyName: Id
--------
photos

I aPhoto jednostka.

Photo
--------
image
createDate - mappedKeyName: Date
photoID    - mappedKeyName: Id
--------
owner (type Person) - mappedKeyName: UserId - relatedByAttribute: personID

Istnieją inne obiekty, do których się odnosząPerson też i JSON dla nich jest taki ...

{
    ObjectId : blah,
    Owner : {
        Id : 12345asdfg,
        FullName : Oliver,
        EmailAddress : [email protected]
    }
}

Dzięki temu JSON moja konfiguracja działa z importem. Tworzone są rekordy osób, które nie istnieją (za pomocą Id). I wszystko, co istnieje, jest aktualizowane.

Jednak obiekt JSON ze zdjęciami wygląda tak ...

{
    Id : thisIsThePhotoID,
    Date : today,
    UserId : 12345asdfg
}

Gdy obiekty spadają w ten sposób, import rekordu magicznego zatrzymuje się, gdy dotrze do importu osoby.

Kod ulega awarii w ...

- (id) MR_relatedValueForRelationship:(NSRelationshipDescription *)relationshipInfo
{
    NSString *lookupKey = [self MR_lookupKeyForRelationship:relationshipInfo];
    return lookupKey ? [self valueForKeyPath:lookupKey] : nil;  // it stops here.
}

WartośćlookupKey to @ „personID”.

Drukowanie informacji o relacji w punkcie przerwania daje ...

$6 = 0x1fd695e0 (<NSRelationshipDescription: 0x1fd695e0>),
    name owner,
    isOptional 0,
    isTransient 0,
    entity Photo,
    renamingIdentifier owner,
    validation predicates (),
    warnings (),
    versionHashModifier (null)
    userInfo {
        mappedKeyName = UserId;
        relatedByAttribute = personID;
    },
    destination entity Person,
    inverseRelationship photos,
    minCount 1,
    maxCount 1,
    isOrdered 0,
    deleteRule 1

Naprawdę nie mam pojęcia, dlaczego to nie działa. Nie mam żadnych sensownych błędów do zgłoszenia.

questionAnswers(1)

yourAnswerToTheQuestion