2013-07-06 128 views
0

我正在創建我的第一個RestKit應用程序。我試圖映射to_many與核心數據的關係。restkit:映射to_many與核心數據的關係

揚聲器JSON

{ 
id: 1, 
session_ids: [1,87] 
}, 
{ 
id: 2, 
session_ids: [2,88] 
}, 

映射

sessionEntitiyMapping = [RKEntityMapping mappingForEntityForName:@"Session" inManagedObjectStore:self.managedObjectStore]; 
[sessionEntitiyMapping addAttributeMappingsFromDictionary:@{ 
@"id":    @"session_id", 
}]; 
sessionEntitiyMapping.identificationAttributes = @[ @"session_id" ]; 

speakerEntityMapping = [RKEntityMapping mappingForEntityForName:@"Speaker" inManagedObjectStore:self.managedObjectStore]; 
[speakerEntityMapping addAttributeMappingsFromDictionary:@{ 
@"name":   @"name", 
@"id":    @"speaker_id", 
}]; 

[speakerEntityMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"session_ids" 
                        toKeyPath:@"sessions" 
                        withMapping:sessionEntitiyMapping]]; 


speakerEntityMapping.identificationAttributes = @[ @"speaker_id" ]; 

錯誤

終止應用程序由於未捕獲的異常 'NSUnknownKeyException',原因:「[< __NSCFNumb er 0x8569690> valueForUndefinedKey:]:此類不是密鑰值,它是密鑰id的密鑰編碼。

+0

您好!我試圖在我的應用程序中使用restkit,並遇到同樣的問題。你有沒有設法找到解決你的問題?如果是這樣,請分享一下嗎? – mrvn

回答

0

我認爲問題在於你在模型中使用了一個原語,即session_id有NSInteger類型。不幸的是,您不能使用它,請改用NSNumber

+0

我已經從xcode生成了所有模型。他們都沒有NSInteger。 – hemanth

+0

關係映射部分是否正確? – hemanth

+0

請把RKLogConfigureByName(「RestKit/ObjectMapping」,RKLogLevelTrace);在項目的某個地方,讓我們看看輸出 – Lonkly