【问题标题】:Create an NSManagedObject with the contents of a NSMutableDictionary (may have NSCFString in place of number)使用 NSMutableDictionary 的内容创建一个 NSManagedObject(可能用 NSCFString 代替数字)
【发布时间】:2012-04-17 10:04:50
【问题描述】:

我想用 NSMutableDictionary 和 Visa Versa 的内容创建一个 NSManagedObject。 KVC 在 NSManagedObject 中无法正常工作,所以我无法使用

[managedObject setValue:@"1" forKey:@"testKey"];

这里 managedObject 有一个属性“NSNumber *testKey”

我有来自 web 服务的响应,我必须将其存储在我的应用程序的 sqlite DB 中,为此我使用核心数据,因此我有名称为“地址”的实体,其属性包括城市、州等(所有字符串都带有邮政编码为 int)。

我有一个类来解析 JSON 响应以获取字典,但我不知道如何从该字典中创建托管对象并保存到我的 sqlite 数据库中。

提前致谢,

瑜伽

【问题讨论】:

  • 是什么让你认为 KVC 在 Core Data 中不起作用?
  • KVC 确实可以工作,但在我指定的情况下它不会工作。在输入 NSString 时,我不能将 NSNumber 作为值传递,而一般来说没有任何问题

标签: iphone nsdictionary nsmanagedobject nsmutabledictionary kvc


【解决方案1】:

要具体回答您的答案:您可以使用 [NSManagedObject setValuesForKeysWithDictionary:]

更多信息:https://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Protocols/NSKeyValueCoding_Protocol/Reference/Reference.html

但您确实应该使用 RestKit 与您的 API 进行交互,因为它会自动处理所有对象映射。

【讨论】:

  • 感谢您指出RestKit,我已经开始在这样的场景中使用它了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-25
  • 1970-01-01
  • 1970-01-01
  • 2021-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多