gpt4 book ai didi

objective-c - 使用 RestKit/iOS 映射嵌套数组

转载 作者:可可西里 更新时间:2023-11-01 05:46:09 25 4
gpt4 key购买 nike

我需要用 RestKit 映射一个嵌套数组,我几乎已经搞定了(我想)。

我需要映射的 JSON,看起来像这样

[
{
_id: "5058670183970a0002000450",
app_store_url: "http://itunes.apple.com/app/culturonda-alto-adige-sudtirol/id534467629",
comments: [
{
_id: "5058670783970a0002000456",
},
{
_id: "50588d7f83970a000200065c",
}
]
}
]

我用来存储信息的 Controller 是这样的:

#import <Foundation/Foundation.h>
#import "CommentData.h"

@interface DesignData : NSObject
@property (retain, nonatomic) NSString *designId;
@property (retain, nonatomic) NSSet *commentsRelationship;
@end

和:

#import <Foundation/Foundation.h>

@interface CommentData : NSObject
@property (retain, nonatomic) NSString *commentId;
@end

我的映射看起来像这样:

RKObjectManager *objectManager = [RKObjectManager sharedManager];

RKObjectMapping *commentsMapping = [RKObjectMapping mappingForClass:[CommentData class]];
[commentsMapping mapKeyPathsToAttributes:@"_id", @"commentId", nil];

RKObjectMapping *designMapping = [RKObjectMapping mappingForClass:[DesignData class] ];
[designMapping mapKeyPathsToAttributes:@"_id", @"designId", nil];

[designMapping mapKeyPath:@"comments" toRelationship:@"commentsRelationship" withMapping:commentsMapping];

[objectManager.mappingProvider setMapping:designMapping forKeyPath:@""];

评论进入一个数组,但它不会存储在评论 Controller 中。如果我像这样在 objecloader 回调中显示评论:

DesignData *designData = [objects objectAtIndex:0];
NSLog(@"Loaded %@ ", designData.commentsRelationship);

它给了我:

2012-10-20 22:37:55.258 RestKitTest5[4144:c07] Loaded {(
<CommentData: 0x8689730>,
<CommentData: 0x868bed0>,
<CommentData: 0x868bfe0>,
<CommentData: 0x868bf50>
)}

这是一个开始。但我做不到:

DesignData *designData = [objects objectAtIndex:0];
NSLog(@"Loaded %@ ", designData.commentsRelationship.commentId);

那么如何将整个事物存储为数组?

最佳答案

我替换这条线后为我工作:

[designMapping mapKeyPath:@"comments" toRelationship:@"commentsRelationship" withMapping:commentsMapping];

与:

[designMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"comments" toKeyPath:@"commentsRelationship" withMapping: commentsMapping]];

关于objective-c - 使用 RestKit/iOS 映射嵌套数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12994462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com