【问题标题】:How to use RKObjectMapping as a standalone library如何将 RKObjectMapping 用作独立库
【发布时间】:2013-07-03 05:55:26
【问题描述】:

我使用 AFNetworking 编写一个 RESTful 客户端。 然后使用 JSONKit 将响应数据解析为 NSDictionary。

例子:

- (void)postPath:(NSString *)path
  parameters:(NSDictionary *)parameters
     success:(void (^)(AFHTTPRequestOperation *operation, id responseObject, NSDictionary* jsonDictionary))success
     failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure
    {

    [self.client postPath:path parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSDictionary* jsonDictionary = [self.jsonDecoder objectWithData:responseObject];

        // do the object-mapping works            

        success(operation, responseObject, jsonDictionary);
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        failure(failure, error);
    }];

}

如何利用 RESTKit 中的 RKObjectMapping 作为独立库来进行对象映射? 提前致谢。

【问题讨论】:

  • 具体说明您的问题是什么以及您尝试解决的问题。
  • 我已经更新了我的问题。谢谢。

标签: ios json restkit object-object-mapping


【解决方案1】:

如果您使用 RestKit,它将替换您当前的所有代码。 RestKit 建立在AFNetworking 之上,因此您可以从 RestKit 发布您的对象并将结果数据映射回该对象。这是否有用取决于您的 POST 的目的。如果您不使用 RestKit,可以使用 AFJSONRequestOperation 对您当前拥有的内容进行一些修剪。

一般来说,问题归结为:

  1. 您发布并希望收到的数据是什么
  2. 您的映射有多复杂

如果映射不复杂,RestKit 可能是矫枉过正。从您的代码看来,您正在发布一个简单的帖子,所以应该没问题(并且您将构建映射以更新您发布的对象,即使实际上没有从该对象中获取任何数据来发出请求)。

【讨论】:

  • 我知道 RESTKit 是建立在 AFNetworking 之上的。但是 RESTKit 对我来说太重了,无法使用。但是我找不到比 RESTKit 足够好的对象映射库。所以我只想使用 RESTKit 的对象映射优势。并且 AFJSONRequestOperation 不做对象映射工作。
  • RestKit 仅在顶部添加映射,如果您想使用映射,那么最简单的方法是直接使用 RestKit 进行所有操作,而不是尝试自己下载然后将该数据推送到 RestKit(是人为的)。
猜你喜欢
  • 2022-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-02
相关资源
最近更新 更多