【问题标题】:RestKit: How do you map to NSUUID?RestKit:你如何映射到 NSUUID?
【发布时间】:2023-03-07 07:00:01
【问题描述】:

我的 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 是。

标签: ios restkit


【解决方案1】:

如果您想将值存储为NSUUID,那么您需要创建一个自定义值转换器来映射到该类和从该类映射。如果您的字符串正确遵循 UUID 格式,这不会很困难,因为 NSUUID 具有 initWithUUIDString:UUIDString 方法。

【讨论】:

  • 是的,鉴于检索到的值确实遵循UUID格式,我将使用您提到的方法。
【解决方案2】:

根据@trojanfoe,只需将 UUID 存储为 NSString

【讨论】:

    猜你喜欢
    • 2011-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多