2

使用时我无法在表格视图中重新加载数据,dismissModalViewControllerAnimated但是如果我使用pushViewController.

我正在打电话reloadDataviewWillAppear

这就是我切换视图的方式:

- (IBAction)addAction:(id)sender
{
    NSLog(@"Add Button Pressd");
    AddNewDrinks *newView = [[AddNewDrinks alloc] initWithNibName:@"AddNewDrinks" bundle:nil];
    self.addNewDrink = newView;
    [self presentModalViewController:addNewDrink animated:YES];
    [newView release];
}

- (void)viewWillAppear:(BOOL)animated
{
    [self.drinkTableView reloadData];
    [super viewWillAppear:animated];  
}

这是我用来回到以前的视图。

- (IBAction)save:(id)sender
{
    NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
    path = [path stringByAppendingPathComponent:@"drinks.plist"];
    NSString *drinkName = self.name.text;
    NSString *drinkIngredients = self.ingredients.text;
    NSString *drinkDirection = self.directions.text;
    NSArray *values = [[NSArray alloc] initWithObjects:drinkDirection, drinkIngredients, drinkName, nil];
    NSArray *keys = [[NSArray alloc] initWithObjects:DIRECTIONS_KEY, INGREDIENTS_KEY, NAME_KEY, nil];
    if(drinkName.length != 0)
    {
        NSDictionary *dict = [[NSDictionary alloc] initWithObjects:values forKeys:keys];
        [self.drinkArray addObject:dict];
        [dict release];
    }
    [self.drinkArray writeToFile:path atomically:YES];    
    [self dismissModalViewControllerAnimated:YES];
}

不幸的是,我的表的视图数据没有重新加载。

4

3 回答 3

2

从外观上看,您正在将已编辑的数组写入文件,但在重新加载表之前没有将其读回。

在 viewWillAppear 中,尝试将新文件读入内存,然后重新加载表。

于 2011-10-04T16:13:12.880 回答
1

关闭模态视图控制器后是否调用 viewWillAppear?你的桌子是一个有效的对象吗?

于 2011-10-04T16:05:32.077 回答
1

您是否正在从文件中读取您在 tableview 中呈现的数据?

于 2011-10-04T16:11:26.610 回答