1

行数が少なく、各行の前にボタンがあるテーブル ビュー コントローラーがあります。ボタンをクリックするとすぐに、そのボタンに対応するデータを別のテーブル ビュー コントローラーに表示する必要があります。また、2 つのボタンを同時にクリックすると、新しいテーブル ビュー コントローラーには両方の行に対応するデータが含まれている必要があります。

ただし、データ全体を取得することはできません。最新のクリックのみが新しいテーブル ビュー コントローラーに反映され、1 行が印刷されます。これを手伝ってください。

ありがとう

4

2 に答える 2

0

最初のボタンクリックで「別のテーブルビューコントローラー」を表示し、ボタンをクリックするたびにNSMuttableArrayに値を追加する呼び出しを(300ミリ秒のわずかな遅延で)スケジュールできると思います。時間 (300 ミリ秒) が経過すると、UITableView に表示する必要があるデータを含む NSMuttableArray が作成されます。

于 2012-09-26T12:48:11.357 に答える
0

これを実現するには、次のものが必要です。

1) プロパティ NSMuttableArray *rowData を宣言します。

2) 行ボタンごとに 1 つのクリック ハンドラーを使用します (以下のコードを最初の TableViewController に追加します)。

- (void) viewDidLoad {
    [super viewDidLoad];

    [myButton addTarget:self action:@selector(rowButtonHandler:)forControlEvents:UIControlEventTouchUpInside];
}

- (void) rowButtonHandler:(id)button {
    if ([rowData count])
    {
        [self performSelector:@selector(openNewTableView) withObject:nil afterDelay:0.3];
    }

    [rowData addObject:...]; // add here row data
}

- (void) openNewTableView {
    SecondTableViewController* detailViewController = [[SecondTableViewController alloc] initWithNibName:@"SecondTableViewController" bundle:nil];

    // set collected rowDatas to SecondTableViewController

    [self.navigationController pushViewController:detailViewController animated:YES];

    [rowDatas removeAllObjects];
}
于 2012-09-26T13:48:11.350 に答える