【问题标题】:RestKit .20 with CoreData - How to set default valuesRestKit .20 with CoreData - 如何设置默认值
【发布时间】:2013-09-04 00:47:48
【问题描述】:

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

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

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

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

我尝试在 xcdatamodeld 文件中设置默认值,但没有成功。看来 RestKit 在映射时将值设置为 Nil。

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

当前的映射代码。

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

感谢您的任何建议。 G

【问题讨论】:

    标签: restkit restkit-0.20


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-31
      相关资源
      最近更新 更多