2012-04-26 4 views
1

エンティティを印刷します。エンティティを印刷するには - CoreData

私はJSONを持っています。値を取得し、それらを私のエンティティに設定します。今私はそれがうまく設定されているかどうかを確認するために、私のエンティティを表示したいですか?

ここに私のコードは、それが働いているようだ、NSLOGは私が欲しいものを印刷します。クール。この方法

entityForName:inManagedObjectContextため

- (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を探していませんR願っています:Uはそのようなコメントはなぜ? NSManagedObjectには、coredataを使用していると言われています。 –

答えて

0

ルック:

は、指定された管理対象オブジェクトコンテキストの永続ストアコーディネータに関連付けられた管理オブジェクトモデルから、指定された名前を持つエンティティを返します。

戻り値 コンテキストの永続ストアコーディネータに関連付けられた管理オブジェクトモデルから、指定された名前を持つエンティティ。

このメソッドは、機能的に次のコード例と同じです。

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

私はuがこの

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

OK、確かに、// TEST NSManagedObjectContextの下のコードは、値を私のエンティティに正しく追加しますか? – user1256827

+0

私はコアデータではほとんど仕事をしていませんでしたが、そうですね...はいurコードはエンティティに値を追加します。 –

関連する問題