Ios Can';t从外部视图DIDLOAD访问Eureka表单对象

Ios Can';t从外部视图DIDLOAD访问Eureka表单对象,ios,swift,forms,viewdidload,eureka-forms,Ios,Swift,Forms,Viewdidload,Eureka Forms,我正在尝试创建一个Eureka表单,用于编辑/创建任务对象。现在,我转到视图并将任务对象作为类变量传递,但由于某些原因,无法从创建表单的viewDidLoad访问它。这意味着我不能给表单赋值。当我为任务类变量创建一个didSet方法时,它最终会被调用,但是表单对象是一个空对象,就像我查看form.values()时一样。但是在viewDidLoad中,它可以工作。有什么建议我遗漏了什么 var task: Task? { didSet { print("didSet values:", form

我正在尝试创建一个Eureka表单,用于编辑/创建任务对象。现在,我转到视图并将任务对象作为类变量传递,但由于某些原因,无法从创建表单的viewDidLoad访问它。这意味着我不能给表单赋值。当我为任务类变量创建一个didSet方法时,它最终会被调用,但是表单对象是一个空对象,就像我查看form.values()时一样。但是在viewDidLoad中,它可以工作。有什么建议我遗漏了什么

var task: Task? { didSet { print("didSet values:", form.values(), "didSet task name", task?.name) } }

override func viewDidLoad() {
    super.viewDidLoad()

    form +++ Section()
        <<< TextRow("name"){
            $0.title = "Name"
        }

    print("viewDidLoad values:", form.values(), "viewDidLoad task name", task?.name)
}

在调试之后,我发现有两个不同的Eureka表单视图实例。所以在挖掘之后,我发现我做了两段同样的事情。一个是从故事板表格视图单元格到表单的序列,另一个是从代码didSelectRowAtperformsgue。有趣的是,当我从调用表单视图的控制器调试prepare(for segue:)时,我没有发现这一点,它应该打印两次输出,但我只看到一次,所以我一直认为我只创建了一个segue

viewDidLoad values: ["name": nil, "deadline": Optional(2017-06-08 19:02:39 +0000)] viewDidLoad task name nil
didSet values: [:] didSet task name Optional("ascasc")