मैं अपने पहले रेस्टकिट ऐप पर काम कर रहा हूं, और मैं स्थानीय कैशिंग के लिए कोरडाटा का उपयोग करता हूं। इसमें मेरे पास < < --- >> श्रेणी के बीच कई से अधिक संबंध हैं। रिश्ते को पदों और श्रेणियों कहा जाता है।कई मैपिंग को रीस्टकिट करें, कैसे करें?
मेरे पोस्ट में JSON कॉल मुझे इस तरह की श्रेणियों के लिए आईडी मिलती है: {"post": [...] "categories":[1,4] [...]
, जहां 1 और 4 आईडी हैं।
मैं एक कस्टम Post
मॉडल उद्देश्य यह है कि NSManagedObject
से विरासत है, उस में मैं श्रेणियों के लिए एक संपत्ति है, इस तरह है:
@interface Post : NSManagedObject
[...]
@property (nonatomic, retain) NSSet *categories;
[...]
मैं एक कस्टम श्रेणी मॉडल वस्तु में एक ही बात करते हैं।
मेरे मैपिंग वर्तमान में इस तरह दिखता है: '[<__NSCFNumber 0x6c625e0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key id.'
मैं वास्तव में अगर कोई मुझे कैसे इस रिश्ते को मैप करने पर कोई सुराग दे सकता है की सराहना करेंगे:
RKManagedObjectMapping *categoryMapping = [RKManagedObjectMapping mappingForClass:[Category class] inManagedObjectStore:objectManager.objectStore];
categoryMapping.primaryKeyAttribute = @"categoryId";
categoryMapping.rootKeyPath = @"categories";
[categoryMapping mapKeyPath:@"id" toAttribute:@"categoryId"];
[categoryMapping mapKeyPath:@"name" toAttribute:@"name"];
[...]
RKManagedObjectMapping* postMapping = [RKManagedObjectMapping mappingForClass:[Post class] inManagedObjectStore:objectManager.objectStore];
postMapping.primaryKeyAttribute = @"postId";
postMapping.rootKeyPath = @"post";
[postMapping mapKeyPath:@"id" toAttribute:@"postId"];
[...]
[postMapping mapKeyPath:@"created_at" toAttribute:@"createdAt"];
[...]
// Categories many-to-many.
[postMapping mapKeyPath:@"categories" toRelationship:@"categories" withMapping:categoryMapping];
जब मैं इस चलाने मैं त्रुटि मिलती है।
धन्यवाद, बदलने का फैसला किया JSON 'श्रेणियों" के लिए: [{"category_id": 1}, {"category_id": 4}] ', क्या आप जानते हैं कि मुझे तालिका में कैसे और कब पॉप्युलेट करना चाहिए? मैं वर्तमान में केवल श्रेणियां लाता हूं। धन्यवाद! – Anders
जॉइन टेबल क्या है? यह वास्तव में एक और सवाल है। –
हाँ, धन्यवाद। एक जॉइन टेबल दो से कई इकाइयों के बीच तालिका है, जहां दो तालिकाओं की प्राथमिक कुंजी संग्रहीत की जाती है। जब मैं पोस्ट लोड करता हूं तो यह वास्तव में इस तालिका में पॉप्युलेट करता है, लेकिन फिर यह किसी कारण से मेरे श्रेणी मॉडल में नई पंक्तियां भी बनाता है। शायद उस मुद्दे के लिए एक और सवाल पूछेंगे। लेकिन JSON को बदलने में मदद मिली, कोई त्रुटि नहीं। धन्यवाद! – Anders