将数据从ViewController快速发送到ViewController

时间:2019-02-11 06:47:28

标签: ios swift core-data struct nsuserdefaults

我尝试将filterview添加到Viewcontroller。我试图决定我该怎么做,但我不知道什么是此实现的最佳方法。现在,我在viewcontroller上打开一个xib文件(filterView),但是我也有了一个标签栏,由于标签栏的原因,我没有对齐安全区域的底部约束。

现在,我决定在新的VC中打开文件,但我不知道如何传递这些过滤器数据。我想我有一些方法,如“观察者”,“核心数据”,“ UserDefaults”或“动态类”。哪个是解决此问题的最佳方法?

您能帮我回答这个问题吗?

我不使用 Segue ,也不想使用 Segue 。我可以将数据A传递给B,但相反,我必须在A中应用操作。另外,我也不想在viewDidAppear中使用任何函数。

我用present(vc , animated: true)打开B控制器,然后用dismiss(animated: true , completion: nil)回来。

这不是任何问题的重复。

预先感谢

1 个答案:

答案 0 :(得分:0)

我们首先进入一页。你有viewController,并且正在从代码中呈现另一个viewController?而您想将第一个viewController的数据传递给第二个?

在您要进行数据传递的情况下,不需要“用户默认值”和“ CoreData”。

由于您不使用segues,因此只需通过委派或关闭或使用观察者即可。

我在这里解释代表团。

例如 Protocol DataPasser { func dataHolder(data: DataType) } 然后在第一个viewController中使用委托,例如

ViewDidLoad()方法上方

var delegate: DataPasser?

然后在重定向下一个viewController时只需调用delegate?.dataHolder(yourData)

然后在下一个viewController中,使该委托成为自我,并进行扩展以像extension SecondViewController: DataPasser这样使用该委托并使用委托方法,您将在委托方法参数中包含您的数据。

希望这会对您有所帮助。如果不再次问我..这里可以帮助您。