如何将选定的 UITableViewController 值添加到以前的 UITableViewController?

Posted

技术标签:

【中文标题】如何将选定的 UITableViewController 值添加到以前的 UITableViewController?【英文标题】:How to add a selected UITableViewController value to a previous UITableViewController? 【发布时间】:2011-05-29 01:42:29 【问题描述】:

用户单击“远程”按钮,然后加载以下 UITableViewController:

然后用户选择我调用的任何值:

[self.navigationController popViewControllerAnimated:YES];

再次回到之前的 UITableViewController(屏幕截图 1)。

如何将选定的值添加到 UITableViewController?

我希望我说得通。

【问题讨论】:

【参考方案1】:

在您的remote recipients table view controller 中,您拥有用于加载表格的数组(例如myTestArray)。将其作为财产保存。并且还有一个 NSInteger 属性(比如selectedRow),它将识别用户选择了哪一行。而当你回到add recipient table view controller时,就可以知道是哪一行被选中了

[remoteRecipientsController.myTestArray objectAtIndex:remoteRecipientsController.selectedRow];

或者使用委托。选择行后,远程接收者将回叫,告知选择了哪一行。

更新: 如果您无权访问视图控制器,请使用委托。

你可以在委托方法中同时获取数组和选中的行,如下:

-(void) remoteRecipient:(RemoteRecipientController *) remoteRecipientController didSelectRow:(NSInteger) row 
// Get the selected row
... = [remoteRecipientController.myTestArray objectAtIndex:row ];

或者您也可以将委托配置为仅返回选定的行(作为您的字符串),如下所示:

-(void) remoteRecipient:(RemoteRecipientController *) remoteRecipientController didSelectRow:(NSString *) selectedRecipient 


当然,在这种情况下,您需要让远程接收控制器将所选行作为 NSString 传递给委托。

【讨论】:

是的,但我无法在“添加收件人”控制器中访问远程视图控制器。 如果您无权访问视图控制器,请使用委托(我假设您正在使用 xib 创建视图)。

以上是关于如何将选定的 UITableViewController 值添加到以前的 UITableViewController?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 tableview 部分的选定索引添加到数组

如何将 UIPickerView 选定的行发送到另一个 ViewController

jsTree:如何将选定节点的 ID 获取到 jsTree 中的根节点?

如何将选定的 HTML 转换为 Json?

如何使用 Powershell 将 ComboBox 选定文件附加到 TextBox?

如何仅将选定的行从handsontable导出到csv