次のJSONがあります
{
...
"users": [
{
"name": "Username 1"
"id": "uid1",
},
{
"name": "Username 2",
"id": "uid2",
"userCreator": "uid1"
},
{
"name": "Username 3",
"id": "uid3",
"userCreator": "uid1"
}
]
}
CoreData では、User クラス (id、name という名前のプロパティ) で、クラス User と userCreator という名前の 1 対多の関係があります。
今、私はJSON関係をマップする必要があります、私は試しました
RKManagedObjectMapping * mapping = [RKManagedObjectMapping mappingForClass:[User class] inManagedObjectStore:[RKManagedObjectStore defaultObjectStore]];
mapping.primaryKeyAttribute = @"id";
[mapping mapAttributes:@"id", @"name", nil];
RKManagedObjectMapping * userCreatorMapping = [RKManagedObjectMapping mappingForClass:[User class] inManagedObjectStore:[RKManagedObjectStore defaultObjectStore]];
userCreatorMapping.primaryKeyAttribute = @"id";
[userCreatorMapping mapAttributes:@"id", nil];
//[mapping hasOne:@"userCreator" withMapping:userCreatorMapping];
[mapping mapRelationship:@"userCreator" withMapping:userCreatorMapping];
[mapping connectRelationship:@"userCreator" withObjectForPrimaryKeyAttribute:@"id"];
うまくいかない、生産する
...
"users":[{
"id":"uid1",
"name":"Username 1"
},
{
"id":"uid2",
"name":"Username 2",
"userCreator":{"id":"uid1"} // wanted "userCreator":"uid1",
}...