Как перезагрузить данные, когда мы используем dismissModalViewControllerAnimated, чтобы вернуться к предыдущему виду? - PullRequest
2 голосов
/ 04 октября 2011

Я не могу перезагрузить данные в моем табличном представлении, когда я использую 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];
}

К сожалению, данные представления моей таблицы не перезагружаются.

Ответы [ 3 ]

2 голосов
/ 04 октября 2011

Судя по всему, вы записываете отредактированный массив в файл, но не читаете его до перезагрузки таблицы.

В viewWillAppear попробуйте прочитать новый файл в память, а затем перезагрузить таблицу.

1 голос
/ 04 октября 2011

Читаете ли вы из файла данные, которые вы представляете в виде таблицы?

1 голос
/ 04 октября 2011

Вызывается ли viewWillAppear после закрытия модального контроллера представления?Является ли ваша таблица допустимым объектом?

...