用按钮传递数据

问题描述:

我有一个应用程序(我的第一个)有几个视图控制器。用按钮传递数据

VC1 - 是一个名为&图像的tableView。 (列表)

VC2 - 是一个名称,图像和两个按钮的视图。 (列表中添加/编辑视图) 数据这两种观点之间传递工作正常使用协议

VC3 - 与另一个列表中的tableView。 (第一个列表的项目) 我在VC2上有一个按钮,可以连接到VC3。

因此,一个用户输入第一个TableView并点击一个tableViewCell,它会跳到第二个视图以编辑该选定列表。而在第二个视图(不是tableView)中,用户点击一个按钮,该按钮会延伸到第三个TableView以添加/编辑项目。然后,用户点击完成按钮,将用户发送回第二个视图。

这是我的问题 - 我如何从VC2拾取/关联列表名称到VC3。当用户点击doneButton时,项目应该与用户正在编辑的那个列表相关联。

谢谢你,新手

+0

使用'代表' –

Here是苹果一个很好的教程向您展示如何做到这一点。基本思想是将东西添加到表格视图中。在VC1中有一组对象,其中包含要显示的所有内容。然后使用prepareForSegue将该数组传递给VC2(进而将其传递给VC3)。 Here是一个很好的赛格教程。

对于编辑(移动和删除单元格),这有原生支持,所以你不必自己推出。该教程链接的底部显示了如何启用此功能。

删除的基本思想是你想从数组中删除元素,然后重绘没有该元素的表视图(VC1)。未能保持表视图和阵列同步将导致崩溃。

+0

是的,这是一个很好的教程,我用它来为我的大部分应用程序。但教程'segue'正在使用故事板。我正在使用一个按钮。本教程还使用VC1上的附件按钮转到VC3。不同之处在于我试图使用一个按钮从VC2延伸到VC3。 – Kathe

+0

您可以通过使用选择器方法初始化按钮来实现此目的,并在该选择方法内,向VC3控制器调用“preformSegue:”。这也将反过来称为'prepareForSegue:' – Cole

+0

对不起,我对此很新。我想你是在说。 @IBAction func itemsButton(){ \t \t let navigationController = storyboard!.instantiateViewControllerWithIdentifier(“ItemsViewController”)as! UINavigationController let controller = navigationController.topViewController as! ItemsViewController \t \t controller.delegate =自 \t \t presentViewController(navigationController,动画:真,完成:无)\t \t} 如果这是你说的话,它给出的“错误不能分配的值键入VC1键入VC2“ – Kathe