【问题标题】:Passing an array back from one view controller to the main view controller [duplicate]将数组从一个视图控制器传回主视图控制器[重复]
【发布时间】:2015-03-31 11:42:43
【问题描述】:

我正在做这个由 3 个视图控制器组成的应用程序。目前的流程是这样的:

1) 第一个带你到第二个。
2) 输入密码以访问第三个视图控制器。
3) 在第三个中,用户输入保存在 nsmutablearray 中的一系列消息。

现在,我想将数组发送到第一个视图控制器。我使用在情节提要上制作的 segues 通过视图控制器。
所以 vc1 连接到 vc2vc2 到 vc3vc3 到 vc1。我尝试使用协议、通知中心等。协议不起作用,我不明白为什么,通知中心发送了数据,但是当我尝试使用 vc1 中的数组时,它实际上被设置回 nil,我也不知道为什么。

可以做些什么来解决这个问题,我觉得它是一个非常简单的实现,不应该面对那么复杂。

提前致谢

【问题讨论】:

  • 有 4 种基本方法可以实现此目的:协议、通知中心、块、展开 segue。如果你能展示你的代码,我会更好地帮助你。

标签: ios objective-c iphone uiviewcontroller storyboard


【解决方案1】:

初学者的想法: 如果我是你的情况,我会在 vc1 中创建我的数组。然后使用 prepareForSegue 将 vc1 和 vc2 连接起来,同样连接 vc2 和 vc3。这样,即使你在vc3中也可以访问数组(记得将数组设为@property,以便其他vc访问)

这个想法的唯一缺点是如果你有很多vc,连接会很乱:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 2014-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多