ios - Storyboard上的多个委托(delegate)或数据源连接

标签 ios delegates storyboard datasource

如何将多个委托(delegate)和数据源链接到 Storyboard上的一个 Controller ?

解释:

“Intake Form Controller”已经继承了UITableViewController,所以你可以在“connection inspector menu”的右侧看到关于TableView Delegate & DataSource的连接。

你可以看到屏幕下方的 PickerView,它看起来是另一个 ViewController,但实际上它包含在 Storyboard 上的同一个 Controller 中。 (你可以在红色矩形上检查它。)

IntakeFormController.h 的头文件中,我已经声明了 PickerDelegate 和 Datasource, 像这样:

@interface IntakeForm1ViewController : UITableViewController <UIPickerViewDelegate, UIPickerViewDataSource>

我想知道的是如何在 Storyboard连接检查器上看到声明的委托(delegate)和数据源。 简单地说,我想将多个委托(delegate)和数据源连接连接到一个 Controller 。

我知道我们可以在源代码上做这些事情,但我认为有一种方法可以在 StoryBoard 上解决这个问题。

  • 补充说明。 在 Storyboard 或 Interface Builder 的“connection inspector menu”中,它有一个“Referencing Outlet”字段,用于通过鼠标拖动在 GUI 对象和委托(delegate)和数据源(在 .h 文件中声明)之间进行连接。 但是,如果我们在 .h 文件中声明多个委托(delegate)或数据源, Storyboard 或 IB 在其自己的屏幕上仅显示一个委托(delegate)点。

  • 所以我想知道的是,有没有办法在 Storyboard 或 IB 的“Referencing Outlet”菜单上查看多个委托(delegate)或数据源。因为我不想从源代码中做一个委托(delegate),比如'tableview.delegate = self'之类的东西。

谢谢

enter image description here

最佳答案

您可以通过选择整个 View Controller 在“连接检查器”中一次查看 View Controller 的所有关系。

您必须在 View Controller 上选择某个控件,然后您才能在“连接(关系)检查器”中看到它的对应关系,即委托(delegate)、连接或事件。

在选择多个控件时,xcode 在“连接(关系)检查器”中显示空白窗口

关于ios - Storyboard上的多个委托(delegate)或数据源连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18438606/

相关文章:

ios - UISplitViewController - 使用 Storyboard segues 替换详细 View Controller 是个好主意吗?

html - 从 HTML 链接在 iPad 上打开 iBook 文件

C#:事件处理程序委托(delegate)

ios - 提交前的 Swift segue 自定义转换布局

objective-c - 带有 NavigationController 和 TabController 的 Storyboard

ios - 具有多个 ViewController 的 SplitView - Storyboard - iOS

ios - glReadPixels 在 iOS 上崩溃

ios - 如何使用 nsjsonserilization 添加登录 api?

c# - 在事件声明中添加匿名空委托(delegate)有什么缺点吗?

objective-c - Mac OS X 的命令行应用程序