繁体   English   中英

使用来自单独的表视图控制器的选定单元格填充文本字段

[英]Populating a Text Field with a Selected Cell from a Separate Table View Controller

我有一个需要修改的应用程序。 这是一个带有Table View Controller的基本应用程序,当用户点击加号按钮并将一些信息填充到文本字段中时,该表将被填充。 用户将输入一个名称和事件,并且通过在文本字段下创建表格视图单元格使我的生活变得更轻松,这样,当用户开始键入内容时,它会自动填充与之前输入的名称相同的名称。

我正在使用Core Data和NSFetchedResultsController。 我正在修改该应用程序,使其对用户而言更加无缝。 我没有选择文本字段时弹出键盘,而是将用户模态转到另一个Table View Controller,用户可以在其中搜索,创建或仅从Table View Cells中选择一个现有条目。

我已经出现了新的表格视图控制器,并使用NSFetchedResultsController显示了现有条目,并且运行良好。

我的问题是:如何在新的“表视图控制器”中选择一个单元并选择该单元可以做两件事:

1)退出模态视图2)使用从表视图控制器(以模态方式出现)中选择的名称填充名称文本字段(在出现新表视图的视图控制器中)。

如果表视图在同一个视图控制器中,则可以正常工作,但是我不太确定如何从另一个表视图控制器中提取该信息。

我猜想我会使用协议,但是我是一个新手,所以任何朝着正确方向甚至是简单示例代码的方向都将受到赞赏!

谢谢,

您必须实现委托协议。

想法是VC1应该符合委托(即,需要有一个过程-(void)dataAvail:(NSString *)data withViewController:(ViewController *)sender {...})。 VC1将推送VC2并设置VC2.delegate = self。

在VC2中,选择单元格后,只需调用[self.delegate dataAvail:self.yourTextField.text withViewController:self];

现在,在您的VC1中,您应该实现dataAvail ...仅获取值并关闭模态VC2。

有关如何声明协议的更多信息,请谷歌搜索“ ios委托教程”。 在为iOS编码时(例如MVC或KVC),到处都会使用委托协议。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM