我在第一个视图中有一个 UIButton。当我点击一个按钮时,我推了一个带有数据的表视图的第二个视图。我希望用户在第二个视图中选择的特定行的数据发送到第一个视图。简而言之,选择一行时第一个视图上的第二个视图行数据在弹出到第一个视图?请帮助。
提前致谢。
我在第一个视图中有一个 UIButton。当我点击一个按钮时,我推了一个带有数据的表视图的第二个视图。我希望用户在第二个视图中选择的特定行的数据发送到第一个视图。简而言之,选择一行时第一个视图上的第二个视图行数据在弹出到第一个视图?请帮助。
提前致谢。
您可以使用委托将数据从第二个视图中的选定行发送到第一个视图。我在这里写了一篇关于如何使用委托的教程:http: //krodev.wordpress.com/2012/10/08/objective-c-delegates/。
设置委托时,使用第二个视图方法将选定行的数据发送回第一个视图:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// row index
int rowIndex = indexPath.row.
// when you have row index you can get row data from your table view datasource
// if your data is NSString (method name depends on your implementation of delegate)
[self.firstViewDelegate selectedRowsData:(NSString *)data];
// return to the 1st view
[self.navigationController popToRootViewControllerAnimated:YES];
}
转到您的第二个视图,按照您的方法UITableView
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
添加条件if(indexPath.row == 0)
,您将使用文件中已声明的全局字符串将数据传递到使用该方法AppDelegate.m
的先前视图。popViewController
该字符串将等于您的cell.textLabel.text
.
例子
if(indexPath.row == 0)
{
textString = cell.textLabel.text;
}
等等你的各种行。同样,您可以将 textString 添加到第一个视图中第一个表的单元格中。有疑问请告知。谢谢 :)
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
Your First View Controller.index = index path.row
}