CoreData で RestKit .20 を使用しています。RestKit が JSON API を正常に呼び出し、CoreData モデルへの応答を問題なく保存しています。
私の質問は、応答にないマッピング時にデフォルト値を設定するにはどうすればよいですか?
私の状況では、アラートのリストをアラート受信ボックスにダウンロードしています。ローカル デバイスで読み取られたアラートを表示する必要があります。エンティティ モデルに AlertRead (ブール値) と呼ばれる CoreData 属性があります。これは、ユーザーがアラートを 1=read としてマークすると更新されます。
私の質問は、データが取得されてマップされるときに、属性のデフォルト値を 0=unread に設定する方法です。
xcdatamodeld ファイルでデフォルト値を設定しようとしましたが、うまくいきませんでした。RestKit は、マッピング時に値を Nil に設定しているようです。
明確化の 1 つのポイント..データの更新がローカル データベースの現在のデータを上書きするため、API の値に属性をマッピングしてこの属性を設定したくないと思います。
マッピングの現在のコード。
RKEntityMapping* alertMapping = [RKEntityMapping mappingForEntityForName:@"AlertMessage" inManagedObjectStore:_managedObjectStore];
[alertMapping addAttributeMappingsFromDictionary:@{
@"alertSubject": @"subject",
@"alertDetailMessage": @"detailMessage",
@"id": @"alertId",
}];
提案をありがとう。G