2011-08-07 2 views
0

사용자가 VC2에서 셀을 선택할 때 VC1의 헤더 텍스트를 업데이트 한 다음 다시 팝백하도록 대리인 메서드를 설정했습니다.대리자를 사용하여 UITableView를 변경하는 데 도움이 필요합니다.

이제 VC1에서 UITableView를로드하는 배열을 변경할 수있는 코드를 추가해야합니다. 가장 쉬운 방법은 무엇입니까? VC 2에서

- (void)didChooseValue:(NSString *)string 
{ 
    self.databaseName = string; 
    NSLog(@"Database Name: %@", self.databaseName); 
    [self.myTableView reloadData]; 
} 

VC 1에서

-didSelectRowAtIndex

if([delegate respondsToSelector:@selector(didChooseValue:)]) 
    { 
     [delegate performSelector:@selector(didChooseValue:) withObject:myString]; 
    } 
+0

배열을 수정하는 방법을 묻는 중입니까? – cduhn

+0

아니, 내가 어떻게 해야할지, VC 2에서 선택한 셀에 따라 VC 1의 배열을 수정할 수있는 대리자 메서드를 설치하는 방법을 묻는 인스턴트 메신저. – Jon

+0

배열을 수정하는 방법은 무엇입니까? VC2에서 사용자가 선택하는 것은 무엇이며, VC1에서 렌더링 된 배열의 내용과 어떻게 관련이 있습니까? – cduhn

답변

1

는이 대리자 메서드 자체의 코드를 추가 할 수 있습니다. 다음과 같이 시도하십시오 :

- (void)didChooseValue:(NSString *)string 
{ 
    self.databaseName = string; 
    NSLog(@"Database Name: %@", self.databaseName); 
    NSMutableArray *carModels = nil; 

    if([string isEqualToString:@"Mazda"]) 
     carModels = [[Database sharedDatabase] getMazdaModels]; 
    else if([string isEqualToString:@"Nissan"]) 
     carModels = [[Database sharedDatabase] getNissanModels]; //And so on depending on the number of models 
    else 
     carModels = [[Database sharedDatabase] getDefaultModels]; 

    self.carAray = carModels; 
    [self.myTableView reloadData]; 
} 
관련 문제