Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift从ViewController向ViewController发送数据_Ios_Swift_Core Data_Struct_Nsuserdefaults - Fatal编程技术网

Ios Swift从ViewController向ViewController发送数据

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

我尝试将filterview添加到
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。