4
我使用Restkit 0.26.0與多層地圖JSON和這個關鍵路徑造成麻煩:Restkit無法使用相應的映射
productColorImages: [
{
id: 10,
productId: "232",
color: "green",
url: "exampleURL.com"
},
{
id: 11,
productId: "232",
color: "red",
url: "exampleURL.com"
},
{
id: 12,
productId: "232",
color: "blue",
url: "exampleURL.com"
}
],
我映射
RKObjectMapping *transferProductColorImageMapping = [RKObjectMapping mappingForClass:[TransferProductColorImage class]];
[transferProductColorImageMapping addAttributeMappingsFromDictionary:@{ @"identifier" : @"id",
@"URL" : @"URL",
@"productId" : @"productId",
@"color" : @"color"
[getProductPageMapping
addRelationshipMappingWithSourceKeyPath:@"productColorImages" mapping:transferProductColorImageMapping];
目的地級別
@interface TransferProductColorImage : NSObject
@property (nonatomic) NSNumber * identifier; // Mapps to id ;int 64
@property (nonatomic) NSString * URL;
@property (nonatomic) NSString * productId;
@property (nonatomic) NSString * color;
問題是生成的對象是正確的類,但屬性未填充。
我搜索的日誌,發現這個:
2016-05-30 17:42:24.007 thebrandsapp[20697:7047455] T restkit.object_mapping:RKMappingOperation.m:1173 Performing mapping operation: <RKMappingOperation 0x7f9e3b9c11e0> for 'TransferProductColorImage' object. Mapping values from object {
color = green;
id = 10;
productId = 232;
url = "exampleURL.com";
} to object <TransferProductColorImage: 0x7f9e3b846d60> with object mapping (null)
在模型對象productColorImages是的NSArray:
@property (nonatomic) NSArray <TransferProductColorImage *> * productColorImages;
這是奇怪,因爲。如果映射爲空,Restkit如何知道要使用的映射。對象映射可以設置爲null是否有任何理由?
更新:我發現標識符和顏色屬性被正確映射,它的標識符和URL映射不正確。
您是否在模型中創建了關係? –
我更新了問題 – HasenBaumeister
對不起,我假設你正在使用核心數據持久性和NSManagedObject。但你不是。我可以建議的唯一的事情是嘗試NSOrderedSet而不是NSArray。我所有的都是NSOrderedSets。 –