2011-10-04 3 views
2

dismissModalViewControllerAnimated을 사용할 때 테이블보기에서 데이터를 다시로드 할 수 없지만 pushViewController을 사용하면 완벽하게 작동합니다.dismissModalViewControllerAnimated를 사용하여 이전 뷰로 돌아갈 때 데이터를 다시로드하는 방법은 무엇입니까?

reloadData을 부릅니다.

이 내가보기를 전환하고 방법입니다

- (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]; 
} 

불행히도 내 테이블의보기 데이터가 다시로드되지 않습니다.

답변

2

보기에 보면 파일에 편집 된 배열을 쓰고 있지만 테이블을 다시로드하기 전에 다시 읽지는 않습니다.

보기에서 파일을 메모리로 읽은 다음 테이블을 다시로드 해보십시오.

+0

그래, 지금 일하고있어. 감사 :) – Varundroid

1

모달보기 컨트롤러를 닫은 후에 viewWillAppear이 호출 되었습니까? 테이블이 유효한 개체입니까?

+0

예 viewWill 모델보기 컨트롤러를 기각하는 즉시 전화를 받고 있습니다. 그리고 한 번 더 내 테이블보기를 확인하고 모든 것이 올바른 위치에있는 것처럼 보입니다. – Varundroid

+0

도와 주셔서 감사합니다. 정말 고마워. :) – Varundroid

1

파일에서 테이블 뷰에있는 데이터를 읽는 중입니까?

+0

나는 아무것도 돌려주지 않을 것이다. 제 경우에는 plist이고 데이터 소스로 데이터를 다시로드하는 내 데이터 소스에 몇 가지 요소 만 추가되었습니다. – Varundroid

+0

도와 주셔서 고맙습니다. 정말 고마워. :) – Varundroid

관련 문제