当我使用dismissModalViewControllerAnimated
时,我无法在我的表格视图中重新加载数据,但如果我使用pushViewController
则效果很好。
我在reloadData
中呼叫viewWillAppear
。
这就是我切换视图的方式:
- (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];
}
不幸的是我的表格视图数据没有重新加载。
答案 0 :(得分:2)
从它的外观来看,你正在将编辑过的数组写入文件,但在重新加载表之前不会将其读回来。
在viewWillAppear中,尝试将新文件读入内存,然后重新加载表。
答案 1 :(得分:1)
在解除模态视图控制器后是否调用了viewWillAppear? 你的桌子是一个有效的对象吗?
答案 2 :(得分:1)
您是否正在从文件中读取您在tableview中显示的数据?