在Xcode和Interface Builder中使用IBOutlet和IBAction的目的是什么?
如果我不使用IBOutlets和IBAction,有什么区别吗?
迅速:
@IBOutlet weak var textField: UITextField! @IBAction func buttonPressed(_ sender: Any) { /* ... */ }
目标C:
@property (nonatomic, weak) IBOutlet UITextField *textField; - (IBAction)buttonPressed:(id)sender { /* ... */ }
IBAction和IBOutlet是定义为表示可以在Interface Builder中引用的变量和方法的宏。
IBAction
IBOutlet
IBAction解析为void与IBOutlet解析为什么,但他们表示,以Xcode和接口生成器,这些变量和方法可以在Interface Builder被用来链接UI元素在你的代码。
void
如果您根本不打算使用Interface Builder,那么您的代码中就不需要它们了,但是如果要使用它,则需要为IBActionIB和IBOutlet对象指定方法。将在IB中使用。