2011-09-26 7 views
0

こんにちは私はiPhoneのアプリケーションを構築するためには、ユーザーが一番上に選択されているボタンに応じてテーブルビューを切り替える必要があります。私はplistファイルの配列からそれぞれの5つのテーブルビューを持っています。私の質問は、このuitableviewに別の配列に切り替えるように指示する方法です。ありがとう!uitableviewがポピュレートされている配列を切り替える方法

答えて

0

「現在の」配列の辞書または配列(データ)とプロパティ/ iVarを持つことができます。別のオプションを選択すると、現在の配列の値を変更して[tableView reloadData]を呼び出します。これにより、テーブルビューコールがすべてのデータをトリガーして再ロードするようになります。すべてのテーブルビューコールバックは、現在の配列からデータを取得する必要があります。

たとえば、「車」、「コンピュータ」、「デバイス」という3つのデータセットがあるとします。

// defined as property in header to handle retain/release 
    @property (retain) NSArray *current; 

    // construct your data on load or init 
    NSArray *cars = [NSArray arrayWithObjects:@"porsche", @"corvette", @"pacer", nil]; 
    NSArray *computers = [NSArray arrayWithObjects:@"PC", @"iMac", nil]; 
    NSArray *devices = [NSArray arrayWithObjects:@"iPhone", @"iPad", @"iPod", nil]; 

    NSMutableDictionary *data = [[NSMutableDictionary alloc] init]; 
    [data setObject:cars forKey:@"cars"]; 
    [data setObject:computers forKey:@"computers"]; 
    [data setObject:devices forKey:@"devices"]; 

    // when they select computers, change the current array to computers array 
    [self setCurrent: [data objectForKey:@"computers"]]; 

    // since you changed which dataset to use, trigger for the table view to reload. 
    [tableView reloadData]; 

    // all table view callbacks work off of current array 
0

tableViewデータソースは、セクション内のセクションまたは行の値、または各行のUITableViewCellを返します。適切な配列のデータを使用して正しい値を返すだけです。例えば

、あなたは(など配列1、配列2)5つのアレイを持っている場合、これもそのあなたがデータを返すようにしたい、そこから配列を割り当てるために、別の配列プロパティを宣言することができます:

self.dataArray = self.array1、たとえば、最初のボタンが押されたとき

self.dataArrayを使用して、データソースメソッドの値を返します。

0

ボタン操作はこのように実行します。

-(void)ButtonPressed:(id)sender { 

    switch([sender tag]) { 

    case 0: { 
    self.resultArray = [NSArray arrayWithObjects:@"ABC",@"MNO",nil]; 
//self.resultArray = //sameArrayAssigned to it 
    break; 
    } 

    default: 
    break; 
    } 
    [self.tableView reloadData]; 

    } 
関連する問題