2011-07-31 23 views
0

マイデータモデル。 Data modelデータを編集してコアデータに保存する方法

3ページあります。

ページ1すべてのコースをテーブルビューで表示します。コースが選択されている場合、そのコースのすべての学生は、ページ上のテーブルビューを示している。2.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    Coures *course =[self.fetchedResultsController objectAtIndexPath:indexPath]; 
    ScoreViewController *scoreView =[[ScoreViewController alloc] initWithNibName:@"ScoreViewController" bundle:nil]; 
    scoreView.title =course.courseID; 
    scoreView.scoreData=course.scores; 
    [self.navigationController pushViewController:scoreView animated:YES]; 
    [scoreView release]; 
} 

ページ2は、特定の上のすべての学生が一覧表示されますテーブルビューを示しています。学生を含む行をタッチすると、生徒の名前とスコアが3ページ

に表示され
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 

    DetailViewController *detailviewController =[[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil]; 
    NSArray *scoreArray =[self.scoreData allObjects]; 
    Score *score =(Score *)[scoreArray objectAtIndex:indexPath.row]; 
    [self.navigationController pushViewController:detailviewController animated:YES]; 
    detailviewController.rescore =score; 
    [detailviewController release]; 
} 

ページ3は、テキストフィールドに学生の名前とスコアを表示します。

-(void)viewDidDisappear:(BOOL)animated{ 

    rescore.score=[NSNumber numberWithDouble:[scoreField.text doubleValue]]; 
    NSError *error; 
    [[rescore managedObjectContext] save:&error]; 
    [super viewDidDisappear:animated]; 
} 

は、私が学生の名前を編集すると3ページ目に得点が、私は3ページ目から2ページ目に戻ったときに、新しいスコアが保存されません。

答えて

1

オブジェクトごとに、管理対象オブジェクトクラスと呼ばれるクラスを作成する必要があります。その後、そのオブジェクトの属性を変更するだけで、コアデータモデルが更新されます。

+0

私は既にマネージドオブジェクトクラスコールスコア、学生、コースを作成しました。 – MAXZZXAM

+0

次に、そのオブジェクトの属性を変更します。あなたのモデルは更新されます。 – darksky

+0

私がrescore.forstuden.name = @ "SomeName"を編集すると動作します!しかし、[NSNumber numberWithDouble:[scoreField.text doubleValue]];それは動作しません。(rescore.scoreはNSnumberです) – MAXZZXAM

関連する問題