带CoreData的RestKit .20 - 如何设置默认值

时间:2013-09-04 00:47:49

标签: restkit restkit-0.20

我正在使用RestKit .20和CoreData。我有RestKit成功调用JSON API并将响应存储到CoreData模型而没有任何问题。

我的问题是如何在映射时设置默认值而不是响应?

在我的情况下,我正在将警报列表下载到警报收件箱。我需要显示本地设备上已读取的警报。我在实体模型上有一个名为AlertRead(boolean)的CoreData属性,当用户将Alert标记为1 = read时,我会更新该属性。

我的问题是如何在检索和映射数据时将属性的默认值设置为0 =未读。

我尝试在xcdatamodeld文件中设置默认值,但这不起作用。似乎RestKit在映射时将值设置为Nil。

一点澄清..我不认为我想通过将属性映射到api上的值来设置此属性,因为刷新数据会覆盖本地数据库上的当前数据。

当前的映射代码。

RKEntityMapping* alertMapping = [RKEntityMapping mappingForEntityForName:@"AlertMessage" inManagedObjectStore:_managedObjectStore];
    [alertMapping addAttributeMappingsFromDictionary:@{
     @"alertSubject": @"subject",
     @"alertDetailMessage": @"detailMessage",
     @"id": @"alertId",
     }];   

感谢您的任何建议。 ģ

1 个答案:

答案 0 :(得分:0)

使用KVC validationRestKit utilises heavily)来验证来自RestKit的传入数据并拒绝更新(如果不合适)。这应与xcdatamodel中设置的默认值一起使用。