【问题标题】:RestKit object mapping of list within list列表内列表的RestKit对象映射
【发布时间】:2014-03-03 19:17:49
【问题描述】:

json api 有一个帖子列表,每个帖子都有一个喜欢这个帖子的用户列表。

post,用户每个人在核心数据中都有一个实体。

RestKit 如何进行对象映射。

{
    posts:[
        {
            "postid":   1,
            "posttext":  "post1",
            "likeusers":[
                {
                    "uid":  1,
                    "username":  "user1"
                },
                {
                    "uid":  2,
                    "username":  "user2"
                }
            ]
        },
        {
            "postid":   2,
            "posttext":  "post2",
            "likeusers":[
                {
                    "uid":  1,
                    "username":  "user1"
                },
                {
                    "uid":  2,
                    "username":  "user2"
                }
            ]
        }
    ]
}

【问题讨论】:

  • 看了《RestKit for iOS》这本书,然后看了RestKit文档,短时间内得到太多信息,对这个问题一窍不通。下次提问前会先尝试。

标签: ios restkit


【解决方案1】:

以下是如何进行映射:

// User mapping
RKEntityMapping *userMapping = [RKEntityMapping mappingForEntityForName:@"User"
                                                   inManagedObjectStore:yourManagedObjectStore];
userMapping.identificationAttributes = @[@"userID"];
[userMapping addAttributeMappingsFromDictionary:@{
                                                  @"uid": @"userID",
                                                  @"username": @"username",
                                                  }];

// Post mapping
RKEntityMapping *postMapping = [RKEntityMapping mappingForEntityForName:@"Post"
                                                   inManagedObjectStore:yourManagedObjectStore];
postMapping.identificationAttributes = @[@"postID"];
[postMapping addAttributeMappingsFromDictionary:@{
                                                  @"postid": @"postID",
                                                  @"posttext": @"postText",
                                                  }];

[postMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"likeusers"
                                                                            toKeyPath:@"likeUsers" withMapping:userMapping]];

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2013-05-04
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    • 2023-03-18
    • 2018-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多