我尝试将filterview添加到Viewcontroller
。我试图决定我该怎么做,但我不知道什么是此实现的最佳方法。现在,我在viewcontroller上打开一个xib
文件(filterView),但是我也有了一个标签栏,由于标签栏的原因,我没有对齐安全区域的底部约束。
现在,我决定在新的VC中打开文件,但我不知道如何传递这些过滤器数据。我想我有一些方法,如“观察者”,“核心数据”,“ UserDefaults”或“动态类”。哪个是解决此问题的最佳方法?
您能帮我回答这个问题吗?
我不使用 Segue ,也不想使用 Segue 。我可以将数据A传递给B,但相反,我必须在A中应用操作。另外,我也不想在viewDidAppear中使用任何函数。
我用present(vc , animated: true)
打开B控制器,然后用dismiss(animated: true , completion: nil)
回来。
这不是任何问题的重复。
预先感谢
答案 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
这样使用该委托并使用委托方法,您将在委托方法参数中包含您的数据。
希望这会对您有所帮助。如果不再次问我..这里可以帮助您。