关于 RestKit 中的对象序列

Posted

技术标签:

【中文标题】关于 RestKit 中的对象序列【英文标题】:About the object sequence in the RestKit 【发布时间】:2013-11-27 08:49:51 【问题描述】:

我最近使用 RestKit 来处理我的网络请求事务。有一个使用排序描述符的排序解决方案。但是服务器发送的数据没有排序键。

如何让数据保持与服务器相同的顺序。

有一个解决方案,我可以在对象中添加一个sortID,但这不是很优雅。我想知道RestKit中是否有解决这个问题的api?

【问题讨论】:

【参考方案1】:

您应该将sortID 添加到对象 - 这是合适的解决方案。要使用您需要使用映射可用的@metadata 填充它的值:

@"@metadata.mapping.collectionIndex" : @"sortID"

此代码假定您使用字典 (addAttributeMappingsFromDictionary:) 指定映射。

记录了here,collectionIndex 为您提供了一个NSNumber,表示响应数据中项目的顺序。

【讨论】:

你能分享一个元数据的例子吗,或者给我一个链接,我不知道这个。 我自己一直在研究这种方法。但是问题来了,在获取第二页数据的时候,这个collectionIndex被重置了。关于如何让它与分页数据一起工作的任何想法? 之前我已经从请求 URL 中恢复了页面 id 并使用页面和索引来执行排序@DonnaLea @Wain 对此表示感谢。我实际上一直在试图弄清楚如何从请求 URL 映射页面 id。目前已放弃,希望在正确的方向上有所作为。我认为这个问题/答案仍然是相关的讨论。 然后,您通常会将完整 URL 从 @metadata 传递到数据模型类上的自定义方法,并在该方法中从查询参数中提取页码并存储它。

以上是关于关于 RestKit 中的对象序列的主要内容,如果未能解决你的问题,请参考以下文章

restkit 中的 ios NSDateFormatter

Restkit 从 NSNumber 序列化布尔值

通过 RestKit 将 JSON 的本地 NSString 反序列化为对象(无网络下载)

如何将展平的对象序列化回服务器,在 RestKit 中未展平

Restkit:-[RKObjectMappingProvider mappingForPatternMatchingString:context:] 中的断言失败

Restkit 0.24.0:如何将对象(包括对多关系)序列化为 JSON