ios - 将对象传递给选项卡应用程序中的另一个 View Controller

标签 ios cocoa-touch uiviewcontroller uitabbarcontroller

<分区>

我想知道如何将对象从一个 View Controller 传递到选项卡应用程序中的另一个 View Controller ?

到目前为止,我已经这样做了:

  • 我在 Xcode 中创建了“Tab 应用程序”;然后我得到两个 View Controller (FirstViewController 和 SecondViewController)。 FirstViewController 有两个文本字段:todoNametodoDetail,在 SecondViewController 中,我想要一个待办事项的 TableView 列表。

  • 然后我创建一个名为 Todo 的新类,它具有两个简单的字符串属性(todoNametodoDetail)和一个构造函数来填写那些属性。

  • 用户将向 FirstViewController 中的两个文本字段添加输入,然后实例化一个 Todo 对象,然后我将 todo 对象放入一个数组中。

我想做的是将这个数组传递给 SecondViewController,这样我就可以填充表格 View 。我该怎么做?

最佳答案

这可以通过使用以下三种解决方案之一轻松解决:

  1. 委托(delegate)模式
  2. 观察者模式
  3. 封锁或关闭

您应该花一些时间完成本教程: http://www.raywenderlich.com/46988/ios-design-patterns

基本上... 1. vc1 将 vc2 作为委托(delegate)并调用委托(delegate)协议(protocol)中定义的方法。 2. vc1发布通知,vc2监听 3. vc1 在vc2 上调用一个 block (非常接近委托(delegate)模式)

我只是想指出,您的用户体验在此示例中被破坏了。 如果在 TableView Controller 的右上角有一个“添加”按钮,并以模态方式呈现一个新的 View Controller 以捕获 ToDo 值,效果会更好。

关于ios - 将对象传递给选项卡应用程序中的另一个 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27133102/

相关文章:

iphone - UIImageView 如何跟踪顺时针或逆时针用户运动

cocoa-touch - 为什么在动画 block 中设置图层 anchorPoint 时我的 View 跳转?

ios - UITableViewCell背景图片设置

ios - UILabel.text 与 NSString (iOS) 没有变化

ios - 钛制发射器窗小

ios - UIImage 不可变但 var

ios - React Native 中的 Xcode 项目在哪里?

ios - 按需重新加载 UITabBarController

ios - 单个 UIViewController 中的多个 Collection View 未调用 cellForItemAtIndexPath indexPath

ios - 如何在其 ViewController 的 viewDidAppear 之前确定 UIView 大小