ios - 将选择器的委托(delegate)和数据源外包给 swift 中的另一个类

标签 ios swift cocoa uipickerview

我在一个 View Controller 中创建了多个选取器,因此我必须使用单独的 Cocoa touch 类来处理每个选取器的数据源和委托(delegate)方法。我有这段代码:

myPicker.delegate = CustomPickerViewController

myPicker.dataSource = CustomPickerViewController

在这种情况下,CustomPickerViewController 是一个单独文件中的 cocoa touch 类,它实现了所需的 UIPickerViewDelegateUIPickerViewDataSource 方法。那么,我应该为上述属性分配什么,以便使用 CustomPickerViewController 类处理填充选择器 View ?

最佳答案

每个选择器都应该获得自己的 CustomPickerViewController 实例。

myPicker.delegate = CustomPickerViewController()
myPicker.dataSource = myPicker.delegate

anotherPicker.delegate = CustomPickerViewController()
anotherPicker.dataSource = anotherPicker.delegate

关于ios - 将选择器的委托(delegate)和数据源外包给 swift 中的另一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32960989/

相关文章:

ios - Objective C 动画我想在屏幕上移动动画

iOS:如何知道 reloadData() 已完成其任务?

swift - 此版本的 watchOS 不支持 WatchKit 1 应用程序。退出 "(null)"

objective-c - 如何使用 cocoa objective-c 实现像 Google Chrome for mac 这样的选项卡窗口?

objective-c - 对象-C : Convert a video's current time(double) to frame(decimal)

ios - 取消或重新安排本地通知的推送通知?

ios - Stripe iOS ruby

ios - 如何在 SpriteKit SKScene 类中启动 ReplayKit 屏幕录制

ios - 尝试运行 ARKit 测试时无法运行 session

cocoa - 如何再次调用 awakeFromnib ,我正在使用 setNeedsDisplay ,它不起作用