RestKit:你如何映射到 NSUUID?
Posted
技术标签:
【中文标题】RestKit:你如何映射到 NSUUID?【英文标题】:RestKit: How do you map to NSUUID? 【发布时间】:2015-07-21 14:14:22 【问题描述】:我的 ios 应用正在使用 RestKit 来使用我控制的 rest api。我无法将 UUID 字段映射到本地模型对象的 NSUUID 属性,简称为 uuid。最初,我将 UUID 格式化为十六进制,并用连字符分隔,restkit 在意识到文档状态“由 NSUUID 创建的 UUID 符合 RFC 4122 第 4 版......”时给了我一个错误。所以我将格式更改为 RFC,但无济于事——错误如下。对此有什么想法,也许 RestKit 不支持 NSUUID 映射?如果是这样,您能否提供有关如何使用依赖于 AFNetworking 1.3.4 的 RestKit v0.24.1 的想法?
restkit.object_mapping:RKMappingOperation.m:682 将 keyPath 'uuid' 处的值转换为类型 'NSUUID' 的表示失败:错误域 = org.restkit.RKValueTransformers.ErrorDomain 代码 = 3002“值 '0189fbce661441f6812530785bcb9aef' 的转换失败”致 NSUUID:所咨询的 2 个值转换器都没有成功。”
【问题讨论】:
不支持NSUUID
。您不能将值保留为字符串吗?
听起来……简单得多。 NSString 是。
【参考方案1】:
如果您想将值存储为NSUUID
,那么您需要创建一个自定义值转换器来映射到该类和从该类映射。如果您的字符串正确遵循 UUID 格式,这不会很困难,因为 NSUUID
具有 initWithUUIDString:
和 UUIDString
方法。
【讨论】:
是的,鉴于检索到的值确实遵循UUID格式,我将使用您提到的方法。【参考方案2】:根据@***foe,只需将 UUID 存储为 NSString
。
【讨论】:
以上是关于RestKit:你如何映射到 NSUUID?的主要内容,如果未能解决你的问题,请参考以下文章
Restkit如何将任意json(键可能会超时更改)映射到NSDictionary