0
我想從兩個單獨的json文件中映射對象(同時使用RestKit播種sqlite數據庫)。這些文件通過外部ID file1Code
連接。RestKit:使用外鍵連接非嵌套關係 - 爲源實體提供的無效屬性
的結構是這樣的:
文件1:
[ {
"code": "1",
"activ": false,
"name": "Joe"
},
{
"code": "2",
"activ": false,
"name": "John"
}
]
文件2:
[
{
"code": 666000,
"name": "Hausarzt",
"file1Code": "1",
"activ": false
}
]
實體文件1是這樣的:
@interface File1Entity : KeyTab
實體對於文件2看起來像這樣:
@interface File2Entity : KeyTab
@property (nonatomic, retain) File1Entitiy *file1Obj;
// Transient
@property (nonatomic, retain) NSNumber *file1Code;
KeyTab
(從中既繼承)看起來是這樣的:
@interface KeyTab : NSManagedObject
@property (nonatomic, retain) NSNumber * code;
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSNumber * activ;
現在我嘗試使用「連接非嵌套關係使用外鍵」從RestKit文檔中發現here。
我使用addConnectionForRelationship
這樣的:
[file2EntityMapping addConnectionForRelationship:@"file1Obj"
connectedBy:@{@"file1Code": @"code"}];
但得到錯誤消息「無法連接關係:對於源實體給出無效的屬性」,因爲file1Obj
是一個屬性,而不是一個屬性。
這是在RestKit中做到這一點的正確方法嗎?
實際上,我已經把'file1Code'作爲'File2Entity'上的一個瞬態屬性。但是之後它又回到了我的[其他未解決的問題](http://stackoverflow.com/q/29670218/332248),關於如何在映射之後和對象被存儲之前攔截RestKit,以便我可以自己完成關係。 – Jens
外鍵映射是如何連接關係。如果你有這個屬性,那麼你不應該看到'爲源實體提供的無效屬性'。 – Wain
首先:感謝您的幫助。我試圖按照標題爲「使用外鍵連接非嵌套關係」的指南[這裏](https://github.com/RestKit/RestKit/wiki/Object-mapping)。我想我的設置與例子幾乎相同(我有兩個單獨的json文件)。 – Jens