核心数据保存和获取
Posted
技术标签:
【中文标题】核心数据保存和获取【英文标题】:Core Data Saving and Fetching 【发布时间】:2015-10-07 08:05:55 【问题描述】:我想通过保存和检索将这些数据导入 CoreData 框架。谁能告诉我如何在 CoreData 框架或一些参考教程中实现这一点,请告诉我如何在实体中保存这些数据。
JSON:
Options = (
);
Questions = (
AssessmentId = 4;
QuestionDesc = "Below are five statements that you may agree or disagree with. Using the 1 - 7 scale below, indicate your agreement with each item by placing the appropriate number on the line preceding that item. Please be open and honest in your responding";
QuestionId = 18;
QuestionNo = 1;
QuestionTypeDesc = Rating;
QuestionTypeId = 3;
);
RankingOptions = (
);
RatingOptions = (
AnswerId = 1;
OptionDesc = "In most ways my life is close to my ideal. ";
OptionId = 1;
OptionValue = 1;
QuestionId = 18;
,
AnswerId = 2;
OptionDesc = "The conditions of my life are excellent.";
OptionId = 2;
OptionValue = 2;
QuestionId = 18;
,
AnswerId = 3;
OptionDesc = "I am satisfied with my life.";
OptionId = 3;
OptionValue = 3;
QuestionId = 18;
,
AnswerId = 4;
OptionDesc = "So far I have gotten the important things I want in life.";
OptionId = 4;
OptionValue = 4;
QuestionId = 18;
,
AnswerId = 5;
OptionDesc = "If I could live my life over, I would change almost nothing.";
OptionId = 5;
OptionValue = 5;
QuestionId = 18;
);
ResponseDetails =
Msg = "DATA FOUND!";
ResultStatus = 1;
;
【问题讨论】:
见github.com/RestKit/RestKit 【参考方案1】:首先你需要将这些json数据转换成NSDictionary
NSError* error;
NSDictionary* inDictionary = [NSJSONSerialization JSONObjectWithData:responseData
options:kNilOptions
error:&error];
然后将这个 NSDictionary 保存到核心数据中。
AppDelegate *sharedDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = [sharedDelegate managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setReturnsObjectsAsFaults:NO];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"QestInfo"
inManagedObjectContext:context]; // Create an Entity in coredata "QestInfo" (use your entity name)
[fetchRequest setEntity:entity];
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:nil];
QestInfo * qestInfo = [NSEntityDescription
insertNewObjectForEntityForName:@"ThreadInfo"
inManagedObjectContext:context];
for (QestInfo *info in fetchedObjects)
if([[inDictionary allKeys] containsObject:@"userEmail"])
if([inDictionary valueForKey:@"userEmail"]!=[NSNull null])
qestInfo. AssessmentId =[inDictionary valueForKey:@"userEmail"];
.
.// Your key here
.
NSError *error;
if(![context save:&error])
NSLog(@"SAVE ERROR");
还可以查看此http://www.raywenderlich.com/934/core-data-tutorial-for-ios-getting-started 初学者教程。
【讨论】:
以上是关于核心数据保存和获取的主要内容,如果未能解决你的问题,请参考以下文章