RestKit在POST之前格式化NSDate

时间:2014-05-30 14:27:42

标签: ios restkit

在我的AppDelegate中,我像这样初始化日期变换器

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd/MM/yyyy"];
[[RKValueTransformer defaultValueTransformer] insertValueTransformer:dateFormatter atIndex:0];

因为我以这种格式从我的REST服务器获取它并且按预期正常工作。现在在我的APP中我改变了几个值,然后我想在POST(Using this method more or less)中发送对象。但是日期现在是以这种格式发送的NSDates

"2011-03-29T22:00:00Z"

Restkit中有没有办法在将Date转换为JSON时格式化Date?

1 个答案:

答案 0 :(得分:0)

实际上在这种情况下,我们最终将服务器代码更改为ISO8601DateFormat。

然而,这个问题有一个修复。当您将上面的代码放在AppDelegate中的一般初始化方法(在我的情况下)中时,您将把DateFormatter放在位置0,但是然后初始化您的第一个ObjectMapping(或EntityMapping),并且您的DateFormatter将被默认值覆盖一个......或者更好,不会被覆盖但是会被预料到。

因此,您需要做的就是在添加DateFormatter之前初始化映射,这可以通过此行完成。

[RKObjectMapping alloc]; // This ensures you will actually insert at index 0!

其实我有similar problem a month later, and there I got the hint to this