Swift错误:UITableViewController没有成员"函数名称"

时间:2016-07-29 05:44:50

标签: ios swift uitableview

我试图在文本字段中打开日期选择器。 显示以下错误。

Code

代码如下:

import Foundation
import UIKit
class tableview : UITableViewController {
@IBOutlet weak var dateTextField: UITextField!
@IBAction func textFieldEditing(sender: UITextField) {

    let datePickerView:UIDatePicker = UIDatePicker()        
    datePickerView.datePickerMode = UIDatePickerMode.Date        
    sender.inputView = datePickerView        
    datePickerView.addTarget(self, action: #selector(UITableViewController.datePickerValueChanged), forControlEvents: UIControlEvents.ValueChanged)
}
func datePickerValueChanged(sender:UIDatePicker) {

    let dateFormatter = NSDateFormatter()        
    dateFormatter.dateStyle = NSDateFormatterStyle.MediumStyle        
    dateFormatter.timeStyle = NSDateFormatterStyle.NoStyle        
    dateTextField.text = dateFormatter.stringFromDate(sender.date)
    **strong text**
}

3 个答案:

答案 0 :(得分:0)

试试吧,

 datePickerView.addTarget(self, action: #selector(self.datePickerValueChanged(_:)), forControlEvents: UIControlEvents.ValueChanged)

你缺少该功能的参数。

希望这会对你有所帮助。

答案 1 :(得分:0)

为类tableview命名。(tableview - > TableViewController)。

对于添加目标,你必须编写类nmae.so这里是类名(tableview - > TableViewController)

如果您正在将IBOutlet用于textfield,请将inputView代码放在viewDidLoad中。

尝试以下代码。

    import Foundation
    import UIKit
    class TableViewController : UITableViewController {

       @IBOutlet weak var dateTextField: UITextField!

       func viewDidLoad(){

           super.viewDidLoad()
           let datePickerView:UIDatePicker = UIDatePicker()

           datePickerView.datePickerMode = UIDatePickerMode.Date

           dateTextField.inputView = datePickerView

           datePickerView.addTarget(self, action: #selector(TableViewController.datePickerValueChanged), forControlEvents: UIControlEvents.ValueChanged)
}

    @IBAction func textFieldEditing(sender: UITextField) {


    }
    func datePickerValueChanged(sender:UIDatePicker) {

        let dateFormatter = NSDateFormatter()

        dateFormatter.dateStyle = NSDateFormatterStyle.MediumStyle

        dateFormatter.timeStyle = NSDateFormatterStyle.NoStyle

        dateTextField.text = dateFormatter.stringFromDate(sender.date)
        **strong text**
    }

答案 2 :(得分:0)

datePickerView.addTarget(self, action: "datePickerValueChanged:", forControlEvents: UIControlEvents.ValueChanged)

datePickerView.addTarget(self, action: #selector(datePickerValueChanged(_:)), forControlEvents: UIControlEvents.ValueChanged)