我有一个表视图控制器,每行有几行和一个按钮。只要单击一个按钮,对应于该按钮的数据就必须显示在另一个表视图控制器中。在同时单击两个按钮时,新的表视图控制器应该具有与这两行相对应的数据。
但是,我无法获得整个数据。只有最新的点击才会反映在新的表视图控制器中并打印出一行。请帮我解决这个问题。
由于
答案 0 :(得分:0)
我认为您可以安排(小延迟300毫秒)调用,在第一个按钮上显示“另一个表视图控制器”,单击+添加NSMuttableArray中的值,然后单击某个按钮。当时间(300毫秒)结束时,你将拥有NSMuttableArray,数据需要在UITableView中显示。
答案 1 :(得分:0)
要实现这一点,您需要:
1)声明属性NSMuttableArray * rowData;
2)为每个行按钮使用一个单击处理程序(将下面的代码添加到第一个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];
}