iOS:在viewController(在NavigationController中嵌入的目标)之间传递数据

耶弗里

我只是在学习IOS开发,我想在ViewController之间传递数据。我正在使用Storyboard,并且正在使用“ prepareForSegue”方法。

我的主要问题是我在许多论坛和博客中发现的有关这种信息“传播”的模式。当原始控制器需要将数据传递到目标控制器时,原始控制器使用以下代码访问目标控制器:

[segue destinationViewController] 

很好,原始控制器不需要确切知道目标控制器的详细信息(我正在使用协议)。

但是,当目标控制器是NavigationController(嵌入在NavigationController中的ViewController)时,似乎推荐的做法是:

[[segue destinationViewController] topViewController]

但是,如果这样做,则意味着原始控制器必须知道目标控制器是NavigationController。我想避免这种情况吗?

也许我做错了什么?还有另一种方法吗?

源控制器是“详细页面”(来自TableView),目标控制器是“编辑页面”。

欢迎任何帮助。

谢谢

伊曼纽尔

我看到两种可能性:

  1. 使用-isKindOfClass并检查它是否是UINavigationController
  2. 创建带有-rootViewController方法的协议,创建符合协议的两个类别,一个类别UIViewController,另一个类别UINavigationController,同时实现这两个类别,一个类别UIViewController应返回self,一个类别UINavigationController应返回topViewController现在,您可以将这些类别拖放到任何控制器上,并使用[[segue destinationViewController] rootViewController]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在iOS中的ViewController之间传递数据

UINavigationController与ViewController嵌入在NavigationController中

从嵌入在TabBarController和NavigationController中的ViewController推送新的ViewController

iOS 7-在ViewController之间传递数据(图像)

如何将 NavigationController 嵌入到 xib 中的 Viewcontroller

在swift4中的ViewController之间传递数据

如何使用 NavigationController 将数据从 UIPickerView 传递到以前的 ViewController

ios将数据从TabbarController传递到Storyboard中的ViewController

在ViewController和ContainerViewController之间传递数据

在两个ViewController之间传递数据

在ViewController之间传递数据时出错

在2个ViewController之间传递数据

目标C-嵌入在ViewController中的TableViewController-是什么触发了表格视图来处理数据?

通过NavigationController传递数据

如何将数据从 ViewController 传递到标签栏 iOS 中的 ViewController?

如果 ViewController 嵌入在 NavigationController 中,则无法隐藏状态栏

在Swift中的ViewController之间传递数组/对象

在Swift中的一个ViewController中的视图之间传递数据

在同一个ViewController中的两个容器之间传递数据

在两个视图之间传递数据(在同一个 ViewController 中)

在将数据传递到viewController时,如何实例化navigationController?

如何将数据传递给嵌入在 TableViewCell 中的 UICollectionView (xCode - iOS - Swift 3)

ViewController iOS中传递图像的质量下降

在ViewController之间传递NSManagedObject

如何在Swift中结合NavigationController的两个ViewController之间切换

如何在目标之间传递带有元数据的ItemGroup?

通过Collection View单元在ViewController之间传递数据

在两个ViewController之间传递数据(委托)-Swift

在tabController下的viewController之间以快速,事件顺序传递数据