插座连接和动作连接有什么区别?

use*_*949 29 xcode ios

当我尝试在xib和文件所有者之间创建连接时,有几种类型可供选择:

  • 插座连接
  • 行动联系
  • 出口集合连接

所有这些之间有什么区别?

Sau*_*oda 38

Outlet和Action是ViewController与其View交互的方式(或连接/中介).虽然它们在iOS熟人的最初几天看起来都很相似,但它们有不同的用途:

出口:ViewController talks to View by using Outlet.View中的任何对象(UILabel,UIButton,UIImage,UIView等)都可以与ViewController建立Outlet连接.Outlet @property在ViewController中使用,这意味着:
- 您可以使用outlet设置对象(如更新UILabel的文本,设置UIView的背景图像等).
- 你可以从一个对象得到一些东西(比如UIStepper的当前值,NSAttributedString的当前字体大小等)

操作 :( View pass on messages about view to ViewController by using Action或者在技术术语中,ViewController将其自身设置为View中的Target任何一个Action).Action是MethodViewController中的一个(与ViewController中的Outlet不同@property).每当某个(任何Event)事件发生在某个对象上(如按下UI按钮),Action就会将消息传递给ViewController.Action(或Action方法)可以在收到消息后执行某些操作.
注意:Action只能由UIControl的子对象设置; 意味着你不能为UILabel,UIView等设置Action.

何时使用Outlet或Action:
在iOS熟悉的最初几天,让Action和Outlet及其用法混淆是完全正常的.可以通过Outlet和Action完成很少的小事(比如获取按钮的文本/标题),但是它们是非常不同的.使用其中一个时,请牢记以上几点.


Ach*_*gar 8

当您想要更改控件的某些属性(即文本颜色或标签的文本大小)时,将使用Outlet.

虽然动作当你想按下按钮时,检测触发即使用.


Oma*_*ith 0

Outlet 连接:连接属性或实例变量,将当前文件所有者实例连接到 xib,当该 xib 被反序列化时,将连接到文件所有者对象

Outlet action:正在将目标/操作添加到从xib到所有者类的指定outlet(视图)

Outlet集合:类似于outlet,但它将视图数组连接到单个outlet变量