我想了解在以下两种情况下,当我需要从另一个视图控制器中读取UILabel / UITextField的内容时,哪种做法被认为是更好的做法:
1)在.h文件中创建一个IBOutlet到UITextField,并将其公开给所有人 2)在.h文件中创建一个NSString只读属性,在实现文件中将其设置为可读写,并在每次私有UITextField更改时更新它。
在我看来,第二个选项似乎是更好的方法,因为它维护了面向对象的封装,但对于我在每个视图控制器中拥有的每个UITextField/ UILabel来说,这似乎是一项繁琐的工作。
您的想法是什么? 谢谢!
编辑:此外,如果我需要能够从外部设置IBOutlets,但是在prepareForSegue:方法中。所以我想第二个选项是唯一的选择?
1)在.h文件中创建一个IBOutlet到UITextField,并将其公开给所有人 2)在.h文件中创建一个NSString只读属性,在实现文件中将其设置为可读写,并在每次私有UITextField更改时更新它。
在我看来,第二个选项似乎是更好的方法,因为它维护了面向对象的封装,但对于我在每个视图控制器中拥有的每个UITextField/ UILabel来说,这似乎是一项繁琐的工作。
您的想法是什么? 谢谢!
编辑:此外,如果我需要能够从外部设置IBOutlets,但是在prepareForSegue:方法中。所以我想第二个选项是唯一的选择?
prepareForSegue:
在awakeFromNib
之前被调用,而这是您第一次可以使用输出的时间)。 - Aaron Brager