1

jsonWebサービスからのデータでいっぱいのコアデータデータベースがあります。しかし、私は日付に問題があります。この日付は文字列のように戻ってきます。したがって、最初に実行したいのは、この文字列をNSDateに変換することです。2つ目は、このNSDateを正しい形式に変換して、日付に並べ替え記述子を追加できるようにすることです。

これは、コアデータデータベースに日付を保存する方法について現在私が持っているものです。

 NSDateFormatter* df = [[NSDateFormatter alloc] init];
    [df setDateFormat:@"MM/dd/yyyy"];
    NSDate* d = [df dateFromString:[genkInfo objectForKey:CALENDAR_DATE]];

    kalender.date              = d;

そして、どのようにデータを取得するか。

- (void)getKalender // attaches an NSFetchRequest to this UITableViewController
{
    NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Kalender"];
    request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"date" ascending:YES]];

    self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
                                                                        managedObjectContext:self.genkDatabase.managedObjectContext
                                                                          sectionNameKeyPath:nil
                                                                                   cacheName:nil];

}

これを行う方法はありますか?

よろしくお願いいたします。

編集

次のログを実行すると。各レコードについて、正しい日付とnull値を取得します

  NSLog(@"date  = %@",kalender.date);

    2012-10-08 19:17:12.125 RacingGenk[596:c07] date  = 2013-09-02 22:00:00 +0000
    2012-10-08 19:17:12.125 RacingGenk[596:c07] date  = (null)
4

1 に答える 1

1

議論で判明したように、日付フォーマッターが使用する形式は、Webサービスによって送信される日付形式と一致しませんでした。使用する

[dateFormatter setDateFormat:@"dd/MM/yyyy"]

問題を修正しました。

于 2012-10-08T18:25:34.033 に答える