objective-c - IBOutlet 和 IBAction

在 Xcode 和 Interface Builder 中使用 IBOutlets 和 IBActions 的目的是什么?

如果我不使用 IBOutlets 和 IBActions 会有什么不同吗?


swift :

@IBOutlet weak var textField: UITextField!

@IBAction func buttonPressed(_ sender: Any) { /* ... */ }

Objective-C :

@property (nonatomic, weak) IBOutlet UITextField *textField;

- (IBAction)buttonPressed:(id)sender { /* ... */ }

最佳答案

IBActionIBOutlet 是定义为表示可以在 Interface Builder 中引用的变量和方法的宏。

IBAction 解析为 voidIBOutlet 解析为空,但它们向 Xcode 和 Interface builder 表明可以使用这些变量和方法在界面生成器中将 UI 元素链接到您的代码。

如果您根本不打算使用 Interface Builder,那么您的代码中就不需要它们,但如果您打算使用它,那么您需要指定 IBAction对于将在 IB 中使用的方法和 IBOutlet 对于将在 IB 中使用的对象。

https://stackoverflow.com/questions/1643007/

相关文章:

objective-c - 何时使用 enumerateObjectsUsingBlock 与 fo

objective-c - 开发像 Facebook 新 iOS 应用程序中的侧滑菜单的最佳方法是什

ios - 在 Objective-C 中获取时间

ios - 如何在没有自定义单元格的情况下将文本包装在 UITableViewCell 中

objective-c - 在 Objective-C 中创建常量的最佳方法是什么

ios - UITableView、Separator颜色在哪里设置?

ios - UIButton:如何使用 imageEdgeInsets 和 titleEdgeIns

ios - 继承 UIView 的正确做法?

iphone - 真的不应该在生产代码上使用 NSLog() 吗?

iOS 应用程序错误 - 无法将自身添加为 subview