2016-07-29 20 views
0

Ich versuche, eine Datumsauswahl innerhalb eines Textfelds zu öffnen. Der folgende Fehler wird angezeigt.Swift Fehler: UITableViewController hat kein Mitglied "Funktionsname"

Code

-Code wie folgt:

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** 
} 
+0

Die Antwort wahrscheinlich hier ist http://stackoverflow.com/questions/35658334/how-do-i-resolve-ambiguous-use-of-compile- Fehler-mit-Swift-Selektor-Syntax/35658335 # 35658335 – FredericP

Antwort

0

Machen Sie einen geeigneten Namen für die Klassen-Tabellenansicht (Tabellenansicht -> TableViewController).

Für Add Ziel Sie Klasse schreiben nmae.so hier ist Klassennamen (Tableview -> Tableviewcontroller)

Wenn Sie IBOutlet für Textfeld verwenden, dann inputView Code in viewDidLoad setzen.

Versuchen Sie den folgenden Code.

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** 
    } 
+0

Dank @Bhoomi arbeitete gut .. – Joe

0

Probieren Sie es wie,

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

Sie fehlen param dieser Funktion.

Hoffe, das wird Ihnen helfen.

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

oder

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