2016-07-29 36 views
0

我試圖在文本字段中打開日期選擇器。 正在顯示以下錯誤。Swift Error:UITableViewController has no member「function name」

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

答案可能是這裏http://stackoverflow.com/questions/35658334/how-do-i-resolve-ambiguous-use-of-compile- error-with-swift-selector-syntax/35658335#35658335 – FredericP

回答

0

給類tableview命名(tableview - > TableViewController)。

對於你必須nmae.so寫在這裏添加類目標類的名字 - 如果你正在使用IBOutlet中的文本框,然後把inputView代碼viewDidLoad中(實現代碼如下> TableViewController)

請嘗試以下代碼。

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

謝謝@Bhoomi很好.. – Joe

0

嘗試像,

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

你缺少PARAM。

希望這會幫助你。

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

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