gpt4 book ai didi

objective-c - 在 iOS 中使用 RestKit 解析 unix 时间戳

转载 作者:可可西里 更新时间:2023-11-01 04:44:42 26 4
gpt4 key购买 nike

对于我正在使用 RestKit 开发的 iOS 应用程序,我需要解析一个 unix 时间戳将 = "1325470840"更改为 NSDate。我知道我可以使用

手动执行此操作
[NSDate dateWithTimeIntervalSince1970:1325470840]

但我正在使用 RestKits 核心数据集成,这是使用日期格式化程序在幕后处理的,如下所示。

[RKObjectMapping addDefaultDateFormatterForString:@"E MMM d HH:mm:ss Z y" inTimeZone:nil];

有谁知道如何创建日期格式化程序来解析 unix 时间戳?或者我如何使用 RestKit 解析它?

最佳答案

好吧,我发现了我的问题。 RestKit 在问题 #141 中修复了这个问题,但是我正在联系的服务器返回一个字符串而不是预期的数字,因此自动解析器不知道如何处理它。我创建了一个请求,将 NSString > NSNumber > NSDate 解析器添加到 RestKit (#503)。同时,在实际解析发生之前,我手动将字符串更新为数字,如下所示。

- (void)objectLoader:(RKObjectLoader *)loader willMapData:(inout id *)mappableData
{
NSArray *dateKeys = [NSArray arrayWithObjects:@"changed", nil];
NSMutableArray *reformattedData = [NSMutableArray arrayWithCapacity:[*mappableData count]];

for(id dict in [NSArray arrayWithArray:(NSArray*)*mappableData]) {
NSMutableDictionary* newDict = [dict mutableCopy];
for(NSString *dateKey in dateKeys) {
NSNumber *num = [NSNumber numberWithInt:[[newDict valueForKey:dateKey] intValue]];
[newDict setValue:num forKey:dateKey];
}
[reformattedData addObject:newDict];
}
*mappableData = reformattedData;
}

关于objective-c - 在 iOS 中使用 RestKit 解析 unix 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8841687/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com