2016-07-24 21 views
0

我是新手编程,我试图在Swift IOS中理解这个概念。 HAVING使用IBaction和IBoutlet将UIButtons和UILabels等东西连接到我的代码有什么好处?在swift中,为什么我必须使用IBaction或IBOutlet在代码和UI之间进行通信?

为什么他们不让我们将UI对象设置为等于button1或label1这样的名称,以便我们可以使用这些名称在我的代码中调用它们并进行变异?

+0

基本上,他们只是名字。由于Obj-C运行时,nib加载机制可以根据插座名称设置你的ivars。 – jtbandes

回答

2

你不知道。 IBAction和IBOutlet是在解压缩Nib的XML字典时,如何使用Interface Builder(IB)创建的storyboard和xib文件链接到实现文件。但是,在代码中创建具有布局的视图和控制器是完全允许的,甚至是团队中项目管理的通用模式。个人而言,我喜欢使用Interface Builder作为布局视图的视觉方面,它有助于减小我的控制器文件的大小,因为它允许我将布局和颜色设置放入Storyboard和xib中。但是,一些开发人员会认为这实际上是一个缺点,因为它会让来自外行的控制器的一些功能混淆。在团队工作中避免使用Interface Builder有很强的争议,但它确实归结为策略和偏好。

2

它们只是Xcode用于链接代码和故事板/ XIB的标签。在功能上他们什么都不做。他们作为开发人员帮助您了解UI的可视化表示和驱动它的代码之间有哪些/哪些不可/不能连接。

相关问题