在没有segue的ViewControllers之间发送数据

时间:2014-09-05 16:04:04

标签: ios objective-c

有没有办法在ViewControllers之间发送数据而不使用segues?

具体来说,我在TabBarViewController中嵌入了两个ViewControllers。一个叫做PlayingCardViewController,另一个叫做HighScoreViewController。我想将一个类HighScore从PlayingCardViewController传递给HighScoreViewController。我想在我按下PlayingCardViewController中的重新设置按钮后立即从PlayingCardViewController传输数据,但我不想转换到HighScoreViewController,因为这会对播放器造成不良影响。

我考虑过使用segues并将HighScores保存在一个数组中并将其传递给所有与PlayingCardViewController连接的VC,但我意识到这似乎过于复杂,并且必须有一种更简单的方法来传递数据按钮。

一些相关链接 Passing Data between View Controllers

1 个答案:

答案 0 :(得分:1)

我打算用子弹点来做这件事:

  • 您可以实现自定义标签栏控制器(您自己的UITabBarController子类),并使用它来代替基本UITabBarController
  • 您的PlayingCardViewController可以拥有自己的委托协议/属性。
  • 委托协议可以定义类似playingCardVC:didSetHighScore:
  • 的方法
  • 您的标签栏控制器将是PlayingCardViewController的委托。
  • 标签栏控制器可以保留对HighScoreViewController
  • 的引用
  • 当标签栏控制器获得playingCardVC:didSetHighScore:时,它可以将您想要的任何内容传递给HighScoreViewController