1

このようJSONな日付オブジェクトを含む があります。

date: "22/02/2014"

NSDate今、それをオブジェクトにマップしたいと思います。だから私のマッピングで私はこれを追加しました。

 NSDateFormatter* dateFormatter = [NSDateFormatter new];
    [dateFormatter  setDateFormat:@"dd/MM/YYYY"];

    kalenderMapping.dateFormatters = [NSArray arrayWithObject: dateFormatter];

NSDateオブジェクトをログに記録すると、これが得られます。

date is 3112-12-31 23:00:00 +0000

誰が問題が何であるか考えましたか?

ありがとう !

編集

これが私がkalenderMappingを使用する方法です。

まず、ここに私の機能全体があります。

-(RKObjectManager *)mapGetKalender{
    RKEntityMapping* kalenderMapping = [RKEntityMapping mappingForEntityForName:@"Kalender" inManagedObjectStore:managedObjectStore];
    kalenderMapping.identificationAttributes = @[@"kal_date"] ;
    [kalenderMapping addAttributeMappingsFromDictionary:@{
        @"date": @"kal_date",
        @"hour": @"kal_hour",
        @"type": @"kal_type",
        @"home": @"kal_home",
        @"away": @"kal_away",
        @"homeScore": @"kal_homeScore",
        @"awayScore": @"kal_awayScore",
        @"homeIcon": @"kal_homeIcon",
        @"awayIcon": @"kal_awayIcon",
        @"date_text": @"kal_date_text",

     }];
    NSDateFormatter* dateFormatter = [NSDateFormatter new];
    [dateFormatter  setDateFormat:@"dd/M/yyyy"];

    kalenderMapping.dateFormatters = [NSArray arrayWithObject: dateFormatter];

    RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:kalenderMapping
                                                                                       pathPattern:nil
                                                                                           keyPath:@"sportief.calendar"                                                                                       statusCodes:[NSIndexSet indexSetWithIndex:200]];

     NSArray *arrResponsDescriptor = [[NSArray alloc]initWithObjects:responseDescriptor, nil];

    [objectManager addResponseDescriptorsFromArray:arrResponsDescriptor];
    return objectManager;

}

これは objectManager を返します。私がこのように使用しようとしているそのオブジェクトマネージャ。

-(void)fetchKalender{
    API *api = [API new];
    RKManagedObjectStore *store = [[YellowstarsDataModel sharedDataModel] objectStore];
    NSManagedObjectContext *context = store.mainQueueManagedObjectContext;

    RKObjectManager *objectManager = [api mapGetKalender];
    NSString *request = @"/mobile/json/request/calendar/type/ipad";

    [objectManager getObjectsAtPath:request parameters:nil
                            success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
                                NSError *error = nil;
                                BOOL success = [store.mainQueueManagedObjectContext  save:&error];
                                if (!success) RKLogWarning(@"Failed saving managed object context: %@", error);
                                NSLog(@"DONE FETCHING");

                            }
                            failure:^(RKObjectRequestOperation *operation, NSError *error) {
                                UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
                                                                                message:[error localizedDescription]
                                                                               delegate:nil
                                                                      cancelButtonTitle:@"OK"
                                                                      otherButtonTitles:nil];
                                [alert show];
                                NSLog(@"Hit error: %@", error);
                            }];
    NSError *error = nil;

    [context save:&error];
}

この関数を実行した後、すべての日付が NSDates としてコア データベースに格納されていると思いますか?

4

2 に答える 2

0

これを試して:

[dateFormatter  setDateFormat:@"dd/M/yyyy"];

また、フォーマッタで日付を作成するコードを配置します。

于 2013-07-23T10:33:44.473 に答える