【发布时间】:2018-02-03 10:48:12
【问题描述】:
我正在以编程方式构建视图,但需要参考控制器中的视图来设置属性。我看不到实现这一目标的方法?
我有一个对视图的引用,因为控制器当然会初始化它,但是我无法访问属性,例如尝试self.view.textField,因为我认为我会这样做。
我如何实现这一目标?反之亦然,我该如何设置视图 textField 以使用控制器作为其代表来处理其输入?
我第一次没有使用故事板,所有这些都更简单但更混乱,感谢对这些问题的任何澄清
【问题讨论】:
-
您需要为您的类声明属性并将对您创建的视图的引用存储在这些属性中
-
所以在视图文件中我在类级别声明 UI,然后我可以访问它们,但在视图文件中的函数中创建实际视图?
-
是的,就像您的对象的任何其他属性一样。就像你对
@IBOutlets 所做的一样,除了你可以省略@IBOutlet位 -
谢谢,我需要初始化属性,例如 var emailTextField = UITextField() 还是 var emailTextField : UITextField?工作吗?
-
您需要初始化它们,就像 Alexander 向您展示的那样,或者通过将它们声明为显式或隐式展开的选项,然后稍后在您的代码中分配一个值。