【问题标题】:How to use other class() delegates and datasource func in swift?如何在 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

标签: swift xcode swift2 picker didselectrowatindexpath


【解决方案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 的概念
猜你喜欢
  • 2016-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多