2011-07-31 78 views
0

我的數據模型。 Data model我如何編輯和保存數據到核心數據

而且我有3頁。

頁面1顯示在tableview中的所有課程。當選擇當然,所有在該過程中的學生中所示的一個的tableview 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頁上示出的tableview該目錄上的特定所有學生。當含有一行中的學生被觸摸學生的姓名和分數顯示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頁,新的分數不會被保存。

回答

1

您必須爲每個對象創建一個類,稱爲託管對象類。這樣做後,您只需更改該對象的屬性,並且核心數據模型將得到更新。

+0

我已經創建了託管對象類呼叫分數,學生和課程。 – MAXZZXAM

+0

然後,只需更改該對象的屬性即可。你的模型將得到更新。 – darksky

+0

如果我編輯rescore.forstuden.name = @「SomeName」它的工作!但是[NSNumber numberWithDouble:[scoreField.text doubleValue]];它不工作(rescore.score是NSnumber) – MAXZZXAM