RestKit 和键值编码……如何解决重复元素?

发布于 2024-12-29 13:25:01 字数 831 浏览 2 评论 0原文

我有一个有时看起来像这样的文档:

<doc>
  <titleInfo>
    <title>One version of the title</title>
  </titleInfo>
  <titleInfo>
    <title>Another version</title>
  </titleInfo>
</doc>

但有时它看起来像这样:

<doc>
  <titleInfo>
    <title>This is the only version of the title</title>
  </titleInfo>
</doc>

我试图将其映射到我的对象中的数组,如下所示:

[mapping mapKeyPath:@"titleInfo.title" toAttribute:@"titles"];

这适用于第一种情况,但在第二种情况下我接收

RKObjectMappingOperation.m:199 keyPath 'titleInfo.title' 处的值转换失败。没有从 '__NSCFString' 转换为 'NSArray' 的策略

显然,RestKit 正确地将第一个文档解释为包含字符串数组 - 但对于第二个文档,我找不到强制方法同样的解释。

有没有一种简单的方法可以用 RestKit 中的 KVC 设施来表达这一点,或者我最好编写一些完全自定义的映射器?

I've got a document that looks like this sometimes:

<doc>
  <titleInfo>
    <title>One version of the title</title>
  </titleInfo>
  <titleInfo>
    <title>Another version</title>
  </titleInfo>
</doc>

But other times it looks like this:

<doc>
  <titleInfo>
    <title>This is the only version of the title</title>
  </titleInfo>
</doc>

I'm trying to map this to an array in my object with the following:

[mapping mapKeyPath:@"titleInfo.title" toAttribute:@"titles"];

This works in the first case, but on the second case I receive

RKObjectMappingOperation.m:199 Failed transformation of value at keyPath 'titleInfo.title'. No strategy for transforming from '__NSCFString' to 'NSArray'

Clearly RestKit is correctly interpreting the first document as containing an array of strings -- but in the case of the second document, I can't find a way to force that same interpretation.

Is there a simple way to express this with the KVC facilities in RestKit, or am I better off writing some entirely custom mapper?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

橘寄 2025-01-05 13:25:01

根据 Blake Walters 的说法:master 和 0.9.3 中的 LibXML 解析器存在许多问题,最近在 RestKit 的开发分支中被基于 NSXMLParser 的解决方案所取代,这解决了一些问题。

更好的方法是将重复元素包装到数组中以供访问。

As per Blake Walters: The LibXML parser on master and in 0.9.3 has had numerous issues and was recently replaced with an NSXMLParser based solution in the development branch of RestKit and this solves some issues.

The better method is to wrap the repeating elements into an array for access.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文