我有一个巨大的NSDictionary,有三个级别的层次结构。
它看起来等级如下
它在root上的值很少,就像数组一样,它有一个字典,而且该字典也有一个字典。
{
"id" = "123",
"name" = "Hello",
"title_image" = "URL"
"sub_array" : [
{
"id" = "123",
"name" = "Hello",
"title_image" = "URL"
"another_dictionary":{
"abc":{
},
"abcd":{
}
}
},
{
"id" = "123",
"name" = "Hello",
"title_image" = "URL"
"another_dictionary":{
"abc":{
},
"abcd":{
}
}
}
]
}
现在我很困惑,我是否应该去制作单独的NSManagedObject,或者创建一个NSManagedObject并与其他表或任何其他appraoch建立一些关系。
当我拥有巨大的NSDictionary(来自Server的JSON,转换为NSDictionary)并且我想将其保存在Core Data中时,可以告诉我该怎么做。
感谢。
答案 0 :(得分:0)
解决方案:
id delegate_info = [UIApplication sharedApplication].delegate;
NSManagedObjectContext *context_info = [delegate_info managedObjectContext];
NSManagedObject *ManagedObject_info = [NSEntityDescription
insertNewObjectForEntityForName:@“localDBname” inManagedObjectContext:context_info];
[ManagedObject_info setValue:[[yourDictName valueForKey:@“key1”] valueForKey:@"user_email"] forKey:@“localdbkey1”];
[ManagedObject_info setValue:[yourDictName valueForKey:@“key2”] forKey:@"localdbkey2”];
[ManagedObject_info setValue:[yourDictName valueForKey:@“key3”] forKey:@"localdbkey3”];
NSError *error;
[context_info save:&error];
注意:如果值是数组或字典,它将无法正常运行并因运行而崩溃。因为您将本地数据库键定义为nsstring。