ios - 将变量从模态 TableView 传递到父 View

标签 ios storyboard

我有一个 detailView,上面有一个按钮,可以调出一个 tableView 作为模态视图,帮助用户选择名称。我正在尝试找出一种将所选名称传递给父 detailView 上的文本字段的简单方法。

我一直在使用 Storyboard 构建这个项目,但我完全卡在了这一点上。

最佳答案

有几种方法可以解决这类问题:

  • 共享对象:父 View Controller 向 subview Controller 提供一些对象,其中包含期望 subview 使用并可能修改的状态。在这种情况下,它可能是一个字典,其中包含要显示的姓名数组和所选人员的索引。

  • 子属性:通常, subview Controller 本身就是共享对象。父级实例化子级,设置子级的一些属性(例如 peopleselectedPerson),然后显示它。当子级完成后,父级在释放它之前获取它关心的子级的属性(例如 selectedPerson)。

  • 委派:有时 subview Controller 需要与父 View Controller 交互才能完成其工作。这是使用委托(delegate)的好时机:建立一些 child 知道并且 parent 实现的协议(protocol),为 child 添加一个 delegate 属性,并让 parent 设置 child 的 delegate 属性给它自己,然后再呈现它。这样子就可以不依赖父类就可以和父类对话了。

对于您描述的情况,您只想在 child 完成后将一些数据传回父级,上面的第二种策略是最简单的。

关于ios - 将变量从模态 TableView 传递到父 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16240722/

相关文章:

iphone - 如何使用 HTML5 和 phonegap cordova2.0 为 iphone 应用程序创建操作表?

ios - Swift3 - Init 的使用不明确

ios - 全局展开序列

ios - Phonegap CLI 5.1.1 --变量未显示在plugin.xml中

ios - 如何使用 Alamofire 上传带有身份验证的 MultipartFormData

iphone - 如何在多个类( View Controller )中使用 NSObject 类中的 NSString

ios - ViewController 中的多个 UICollectionViews |不会调用一个 CollectionViews 委托(delegate)方法

ios - 将搜索栏添加到 UICollectionView

iphone - 使用 Storyboard在两个 Controller 之间传递数据

xcode - 全局 UITableViewCell 标识符,在 Storyboard中创建一次并在应用程序的所有表格中使用