RestKit を使用して JSON をローカル データベースに同期していますが、日付の保存に問題がありますCategory is not key value coding-compliant for the key "createdAt".
。リモート Web サービスから取得した JSON は文字列で、次のようになります。
"created_at":"2012-06-20T13:29:54Z"
私のローカルxdatamodeld
ファイルではcreated_at
、データ型として NSSTring と NSdate の両方を試した属性を持たせようとしました。created_at @property: を持つエンティティのローカル モデル ファイルがあります@property (nonatomic, retain) NSDate *createdAt;
。ここでも NSString と NSDate の両方を試しました。の日付フォーマッタも作成しようとしましたRKManagedObjectMapping
が、どちらも役に立ちませんでした。このような:
NSDateFormatter* dateFormatter = [NSDateFormatter new];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
categoryMapping.dateFormatters = [NSArray arrayWithObject: dateFormatter];
私のマッピングは次のようになります。
[categoryMapping mapKeyPath:@"categories.created_at" toAttribute:@"createdAt"];
私が間違っていることについてのアイデアはありますか?
** アップデート **
Zがエラーを引き起こしていると思われます。マッピングする前に、リクエストからそれを取り除くにはどうすればよいですか?
**更新#2 **
新しい addDefaultDateFormatter も追加しようとしましたが、うまくいきませんでした。このように (独自のマッピングを作成する前に):
// JSON date format: 2012-06-20T13:29:54Z
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
[RKObjectMapping addDefaultDateFormatterForString:@"yyyy-MM-dd'T'HH:mm:ssZ" inTimeZone:nil];
[RKObjectMapping addDefaultDateFormatter:dateFormatter];