【发布时间】:2010-12-11 05:02:24
【问题描述】:
在 Xcode 和 Interface Builder 中使用 IBOutlets 和 IBActions 的目的是什么?
如果我不使用 IBOutlets 和 IBActions 会有什么不同吗?
斯威夫特:
@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 是否还有其他原因,或者是否可以将它们关闭?
-
Michael Rogers 的回答在下面添加了一些解释,说明为什么即使 IBAction 被忽略,代码也能正常工作。
-
IBAction 作为目标-动作交互机制的一部分存在,您可以在此处阅读有关 IBAction 如何适应该机制的信息:developer.apple.com/library/ios/documentation/General/… 您可以在此处阅读 Outlets:developer.apple.com/library/ios/documentation/General/…
标签: objective-c swift interface-builder iboutlet ibaction