2011-08-07 18 views
0

我已經設置了委託方法,以便當用戶從VC2中選擇單元格時,它會更新VC1的標題文本,然後再彈出。需要幫助使用委託來更改UITableView

現在我需要添加一些代碼,讓我改變在VC1中加載UITableView的數組,最簡單的方法是什麼?

在VC 1

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

在VC 2 - didSelectRowAtIndex

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

你只是問如何修改數組? – cduhn

+0

不,我知道該怎麼做,即時通訊問如何設置一個委託方法,這將允許我修改VC 1中的數組,取決於我從VC 2中選擇哪個單元格。 – 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]; 
}