2014-07-22 2 views
0

이것은 RestKit을 처음 사용하는 날이며 날짜 형식에 문제가 있습니다. 내가 좋아하는 그에게 일을주는거야 : 2014-07-18T09 : 00 : 54RestKit with NSDateFormatter

나는 NSDateFormatter를 만들었습니다 및 NSLog를 사용하여 테스트를 시도 :

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"]; 
dateFormatter.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"UTC"]; 
NSLog(@"%@",  [dateFormatter dateFromString:@"2014-07-18T09:00:54"]); 

그것은 다음을 출력 올바른 답변 : 2014-07-18 09:00:54 +0000. 나는 https://github.com/RestKit/RestKit/wiki/Object-Mapping#transforming-date-and-time-representations을보고, 이와 같은 포맷터를 잠금없이 추가하려고했습니다.

[[RKValueTransformer defaultValueTransformer] insertValueTransformer:dateFormatter atIndex:0]; 

인쇄 : 2014-07-18 11:00:54 CEST, 기본 포맷터를 사용합니다. 어떤 문제라도 나에게 설명 할 수 있을까?

+0

: atIndex를' ? 중단 점을 지정하고 기본 변압기가 추가 된 시점을 확인하십시오 (귀하의 전후). – Wain

+0

나는 그것이 버그라고 생각한다. Ref. https://github.com/RestKit/RestKit/issues/1715 – SOK

+0

그리고이 문제를 해결하는 방법에 대한 지침을 제공합니다. – Wain

답변

1

다음 코드는 해결 내

/ 
* 
* Before we set up mappings, add a String <--> Date transformer that interprets string dates 
* lacking timezone info to be in the user's local time zone 
*/ 
[RKObjectMapping class]; // Message the RKObjectMapping class (+ subclasses) so +initialize is 
[RKEntityMapping class]; // called to work around RK bug, see GH issue #1631 
NSDateFormatter *localOffsetDateFormatter = [[NSDateFormatter alloc] init]; 
[localOffsetDateFormatter setLocale:[NSLocale currentLocale]]; 
[localOffsetDateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
[localOffsetDateFormatter setTimeZone:[NSTimeZone localTimeZone]]; 
[[RKValueTransformer defaultValueTransformer] insertValueTransformer:localOffsetDateFormatter atIndex:0];problem. 

도에서 찾을 수 있습니다 : 어디`insertValueTransformer를 호출 할 때/www.github.com/RestKit/RestKit/issues/1715