2012-04-26 4 views
1

Je voudrais imprimer une entité. J'ai un JSON, j'obtiens la valeur, placez-les dans mon entité. Maintenant, je veux afficher mon entité pour voir si elle est bien définie, comment?Comment imprimer une entité - CoreData

voici mon code, il semble fonctionner, le NSLOG imprimer ce que je veux. cool.

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    dataToDisplay = [[NSMutableArray alloc] init]; 

    //récupération du chemin vers le fichier contenant le JSON 
    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"JSON" ofType:@"txt"]; 

    //création d'un string avec le contenu du JSON 
    NSString *myJSON = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:NULL]; 

    //Parsage du JSON à l'aide du framework importé 
    NSDictionary *json = [myJSON JSONValue]; 

    //récupération du total des Boxes 
    NSDictionary *resultats = [json objectForKey:@"totalBox"]; 

    //récupération du tableau de Boxes 
    NSArray *listBoxes = [resultats objectForKey:@"boxes"]; 

    //On parcourt la liste de boxes 
    for (NSDictionary *dic in listBoxes) { 

     getBoxes *boxes = [[getBoxes alloc] init]; 
     boxes.nameBox = [dic objectForKey:@"boxName"]; 
     //renseingement du score 
     boxes.priceBox = [dic objectForKey:@"boxPrice"]; 
     boxes.kindBox = [dic objectForKey:@"boxKind"]; 
     boxes.typeBox = [dic objectForKey:@"boxType"]; 
     //ajout à la liste 
     [dataToDisplay addObject:boxes]; 

     //libération de la mémoire 
     [boxes release]; 
    } 

    NSLog(@"boxKind %@", [[listBoxes objectAtIndex:1] valueForKey:@"boxKind"]); 
    //à ne pas oublier après l'allocation effectuée au début 


    // TEST 
    NSManagedObjectContext *cxt = [self managedObjectContext]; 
    NSManagedObject *newBoxes = [NSEntityDescription insertNewObjectForEntityForName:@"Boxes" inManagedObjectContext:cxt]; 
    [newBoxes setValue:[[listBoxes objectAtIndex:1] valueForKey:@"boxKind"] forKey:@"kindBox"]; 
    [newBoxes setValue:[[listBoxes objectAtIndex:1] valueForKey:@"boxPrice"] forKey:@"priceBox"]; 
    [newBoxes setValue:[[listBoxes objectAtIndex:1] valueForKey:@"boxType"] forKey:@"typeBox"]; 
    [newBoxes setValue:[[listBoxes objectAtIndex:1] valueForKey:@"boxName"] forKey:@"nameBox"]; 


    NSError *err; 
    if (![cxt save:&err]) { 
     NSLog(@"An error has occured: %@", [err localizedDescription]); 
    } 

    [myJSON release]; 

    NSLog(@"%@", [newBoxes valueForKey:@"kindBox"]); 
    NSLog(@"%@", [newBoxes valueForKey:@"priceBox"]); 
    NSLog(@"%@", [newBoxes valueForKey:@"typeBox"]); 
    NSLog(@"%@", [newBoxes valueForKey:@"nameBox"]); 


} 
+0

@Flink: Pourquoi u a commenté comme ça? Je veux dire que NSManagedObject est là pour dire qu'il utilise des coredata. –

Répondre

0

Rechercher cette méthode

entityForName:inManagedObjectContext:

Renvoie l'entité avec le nom spécifié du modèle d'objet géré associé avec le coordinateur du magasin persistant du contexte de l'objet géré spécifié.

Valeur de retour L'entité avec le nom spécifié dans le modèle d'objet géré associé au coordinateur de stockage persistant du contexte.

Cette méthode est fonctionnellement équivalente à l'exemple de code suivant.

NSManagedObjectModel *managedObjectModel = [[context persistentStoreCoordinator] managedObjectModel]; 
NSEntityDescription *entity = [[managedObjectModel entitiesByName] objectForKey:entityName]; 
return entity; 

J'espère que u r ne cherche pas quelque chose comme ça

NSLog(@"%@",[newBoxes name]); 
+0

ok, juste pour être sûr, le code ci-dessous le // TEST NSManagedObjectContext .... ajouter les valeurs à mon entité droite? – user1256827

+0

Je ai travaillé à peine sur les données de base, mais il semble ... oui ur code ajouter des valeurs à l'entité. –

Questions connexes