RestKit:你如何映射到 NSUUID?

RestKit: How do you map to NSUUID?

我的 iOS 应用正在使用 RestKit 消耗我控制的休息 api。我无法将 UUID 字段映射到本地模型对象的 NSUUID 属性,简称为 uuid。最初我将 UUID 格式化为十六进制,用连字符分隔,当意识到文档声明“NSUUID 创建的 UUID 符合 RFC 4122 版本 4……”时,restkit 给了我一个错误。所以我将格式更改为 RFC,但无济于事——错误如下。对此有什么想法,也许 RestKit 不支持 NSUUID 映射?如果是这样,您能否提供有关如何使用依赖于 AFNetworking 1.3.4 的 RestKit v0.24.1 进行此操作的想法?

restkit.object_mapping:RKMappingOperation.m:682 Failed transformation of value at keyPath 'uuid' to representation of type 'NSUUID': Error Domain=org.restkit.RKValueTransformers.ErrorDomain Code=3002 "Failed transformation of value '0189fbce661441f6812530785bcb9aef' to NSUUID: none of the 2 value transformers consulted were successful."

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

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