无法为RestKit对象映射序列化设置默认NSDateFormatter

时间:2014-01-16 04:10:49

标签: ios objective-c restkit nsdateformatter

我无法将日期格式化程序添加到序列化日期时使用的RKValueTransformers列表中,因为RKObjectMapping's初始化函数始终会覆盖它。

基本上在我的应用didFinishLaunching中,我有以下代码:

// Survey Mapping Mapping
RKEntityMapping * surveyRequestMapping = [RKObjectMapping requestMapping];;
[surveyRequestMapping addAttributeMappingsFromArray:@[@"key", @"version"]];

// Add a request descriptor for Surveys
[sharedManager addRequestDescriptor:
[RKRequestDescriptor requestDescriptorWithMapping:surveyRequestMapping
                                      objectClass:[Survey class]
                                      rootKeyPath:nil
                                           method:RKRequestMethodAny]];

// Update date format so that we can parse dates properly.
// 2013-11-09 14:51:27 +0000
NSDateFormatter *dateFormatter = [NSDateFormatter new];
dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss Z";
[[RKValueTransformer defaultValueTransformer] insertValueTransformer:dateFormatter atIndex:0];

在我注释掉以下行后,我使用了NSDateFormatterhttps://github.com/RestKit/RestKit/blob/development/Code/ObjectMapping/RKObjectMapping.m#L140

我做错了什么?

1 个答案:

答案 0 :(得分:0)

导致问题的代码基本上意味着在尝试安装格式化程序之前,需要调用{vortex其他类需要拨打电话)到RKObjectMapping。通常,您将拥有一个创建映射,描述符和管理器的配置方法,您可以在该过程结束时配置格式化程序。