2015-10-07 170 views
0

我想用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; 
    }; 
} 
+0

請參閱https://github.com/RestKit/RestKit – magma

回答

3

首先,你需要這些JSON數據這NSDictionary中轉換成的NSDictionary

NSError* error; 
NSDictionary* inDictionary = [NSJSONSerialization JSONObjectWithData:responseData 
               options:kNilOptions 
                error:&error]; 

然後保存到核心數據。

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初學者教程。