2011-08-07 11 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 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]; 
} 
関連する問題