Swift 3.0在视图控制器之间传递数据

时间:2017-03-31 15:39:30

标签: ios swift3

我正在使用Xcode Swift 3.0,我有5个视图控制器,每个控制器都有几个textField。信息完成填写后,按nextButton到下一个视图控制器。例如,在视图控制器1中完成所有textField的填充,单击nextButton,然后我将它转换为查看控制器2,依此类推......

我想让视图控制器1,2,3,4仅从视图控制器5输入textField信息。

如果不使用Segue将数据从vc1传递到vc2,从vc2传递到vc3等等,我将如何做到这一点?

请建议。

2 个答案:

答案 0 :(得分:0)

TempData可用于将值从Controller传递到View以及从Controller传递到Controller。 找到例子:

public class FirstController : Controller
{
    // GET: First
    public ActionResult Index()
    {
        TempData["Message"] = "Hello MVC!";
        return new RedirectResult(@"~\Second\");
    }
}
public class SecondController : Controller
{
    // GET: Second
    public ActionResult Index()
    {
        return View();
    }
}

答案 1 :(得分:0)

  

如果不使用Segue将数据从vc1传递到vc2,从vc2传递到vc3等等,我将如何做到这一点?

无论您是使用Swift还是Objective-C,这里的正确解决方案是使用数据模型。每个视图控制器从创建它的对象获取对公共数据模型的引用,并且视图控制器使用该模型来填充其视图。视图控制器在用户进行更改时更新模型。由于其他视图控制器也引用相同的模型,因此它们都会自动获得用户的更改。