如何在 swift 中使用其他类()委托和数据源函数?
Posted
技术标签:
【中文标题】如何在 swift 中使用其他类()委托和数据源函数?【英文标题】:How to use other class() delegates and datasource func in swift? 【发布时间】:2016-12-17 07:57:32 【问题描述】:我有一个 UITextField 类,它向以下代表确认。我将此类用作全局类(它是一个小型自定义库,我将其用作微调器)。
//MARK: PickerView Delegate
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String?
return pickerDataArray![row]
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
self.text = pickerDataArray![row]
//MARK: TextField Delegate
func textFieldDidBeginEditing(textField: UITextField)
let row = self.pickerView.selectedRowInComponent(0)
self.text = self.pickerDataArray![row]
现在,我想获取选定的行,在这个类中将是 didSelectRow() 函数。那么,我如何能够在我实现它的那些类中以某种方式使用这些函数呢?
【问题讨论】:
你已经为它创建了一个自定义类,最好创建一个类,然后将它子类化为uiviewcontroller,然后在任何你想要的地方扩展这个类,然后直接调用这些方法 我将这个类作为来自故事板的文本字段自定义类。有可能做到这一点@ShobhakarTiwari 【参考方案1】:您可以使用创建基类并在 ChildClass 中扩展或随时使用来实现
示例:
SuperBaseViewController 类
class SuperBaseViewController: UIPickerViewDataSource, UIPickerViewDelegate
//Add PickerView's Data Source and Data Delegate Methods Here
SubViewController 类
class SubViewController: SuperBaseViewController
//Whenever you click on PickerView's row than it's delegate method in SuperBaseViewController if you add didSelect method
【讨论】:
好吧,我之前也跟着做对了,所以,基本上你想说的是继承超类,调用他们的代表。感谢@Sunil 的概念以上是关于如何在 swift 中使用其他类()委托和数据源函数?的主要内容,如果未能解决你的问题,请参考以下文章
在单独的文件中设置 UITableView 数据源和委托 - swift