0

リモートサーバーからのコアデータ応答の取得、解析、保存を担当するRestKit 0.21.0コンポーネントを使用しているiOSプロジェクトがあります。バックエンドの JSON 応答の 1 つに、次のようなものがあります。

"response": [
  {
    "id": 1,
    "start_time": "10:00:00",
    "end_time": "14:00:00",
    "name": "Object name"
  },
  .
  .
  .
]

Model.xcdatamodeldで、フィールド startTime および endTime タイプの Date を持つエンティティを定義しました通常、オブジェクトへのすべてのマッピング JSON 応答は正しく機能しますが、JSON フィールドの start_time と end_time に問題があります。

Core Data (SQLite データベース) に格納できるデータに時間フィールドを正しくマッピングする方法について何かアドバイスはありますか?

4

2 に答える 2

1

NSDateFormatter時間文字列を解析するための適切な形式で を作成します。で日付フォーマッタを追加します[[RKValueTransformer defaultValueTransformer] insertValueTransformer:dateFormatter atIndex:0];。これで、RestKit は、NSDate宛先にマップする必要があるときはいつでも、定義済みのすべての日付フォーマッターとデフォルトの日付フォーマッターを検索します。

于 2013-10-15T18:28:37.920 に答える
1

RestKit を多用するアプリを継承しており、現在 0.21 リリースで、その素晴らしい機能を備えています。YYYY-MM-DD HH:MM:SS.SSS で日付から文字列への変換を追加する必要があり、上記のアドバイスに従って、必要な日付フォーマッタをインデックス 0 のデフォルトの複合フォーマッタに追加しました。 +(void)initialize での下位互換性のために、インデックス 0 のフォーマッタ。これらの行をコメントアウトすると、正しい結果が得られます。おそらくアプリの構造が原因だと思います。RKObjectMapping への呼び出しが何度もあり、RKObjectMapping を変更せずに適切な場所に日付フォーマッタを追加することはできませんでした。

于 2013-11-04T13:26:14.777 に答える