Ios Swift从ViewController向ViewController发送数据
我尝试将filterview添加到Ios Swift从ViewController向ViewController发送数据,ios,swift,core-data,struct,nsuserdefaults,Ios,Swift,Core Data,Struct,Nsuserdefaults,我尝试将filterview添加到Viewcontroller。我试图决定我该怎么做,但我不知道什么是最好的实现方式。现在,我在viewcontroller上打开了一个xib文件(filterView),但我还有一个tabbar,由于tabbar,我没有与安全区域的底部约束对齐 现在我决定在新的VC中打开,但我不知道如何传递这些过滤数据。我想我有一些方法,比如“观察者”、“核心数据”、“用户默认值”或“动态类”。回答这个问题最好的方法是什么 你能帮我回答这个问题吗 我不使用Segue也不想使用S
Viewcontroller
。我试图决定我该怎么做,但我不知道什么是最好的实现方式。现在,我在viewcontroller上打开了一个xib
文件(filterView),但我还有一个tabbar,由于tabbar,我没有与安全区域的底部约束对齐
现在我决定在新的VC中打开,但我不知道如何传递这些过滤数据。我想我有一些方法,比如“观察者”、“核心数据”、“用户默认值”或“动态类”。回答这个问题最好的方法是什么
你能帮我回答这个问题吗
我不使用Segue也不想使用Segue。我可以将数据A传递给B,但反过来,我必须在A中应用一个操作。此外,我不想在ViewDidDisplay中使用任何函数
我用显示(vc,动画:true)
打开B控制器,然后用关闭(动画:true,完成:nil)
返回
这不是任何问题的重复。
提前谢谢让我们先进入一页。您拥有viewController,并且正在从代码中显示另一个viewController?您想将第一个viewController的数据传递给第二个viewController吗 对于数据传递,不需要“用户默认值”和“CoreData” 因为您不使用segues,所以您可以通过委派、关闭或使用观察者来完成 我在这里解释代表团 比如说
协议数据传递器{
func数据持有者(数据:数据类型)
}
然后在第一个viewController中使用委托,如
上面的ViewDidLoad()
方法
var委托:DataPasser?
然后重定向下一个viewController时,只需调用delegate?.dataHolder(您的数据)
在下一个viewController中,将此委托设为self并进行扩展以使用此委托,如extension SecondViewController:DataPasser
和use delegate method,您的数据将包含在delegate method参数中
希望这对你有帮助。如果不是的话,再问我一次。。我来帮忙。这不是我的答案。我要求的是选择,而不是举例。感谢您的回答。对于数据传递,您可以使用协议、闭包和NSNotificationCenter。但是UserDefaults和CoreData是个坏主意。有了它们的帮助,你可以将数据从任何地方传递到任何地方。即使在你的ViewController中,我也写了这些方法。我问哪一个是最好的方法。那取决于你的选择,这对你来说很容易。。我希望您使用NSNotificationCenter。