2017-06-12 141 views
-2

這裏: -Xcode是顯示錯誤編譯代碼

進口的UIKit

類的ViewController:UIViewController中,UIPickerViewDataSource,UIPickerViewDelegate { @IBOutlet弱VAR statePicker:UIPickerView!

@IBOutlet weak var statepickerbtn: UIButton! 

let states = ["alaska","alabama","akansas","california","maine","new york"] 

override func viewDidLoad() { 
    super.viewDidLoad() 
    statePicker.dataSource = self 
    statePicker.delegate = self 
    // Do any additional setup after loading the view, typically from a nib. 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

@IBAction func statebtnpressed(_ sender: Any) { 

    func numberOfComponents(in: <#T##UIPickerView#>)-> Int 
    { 
     return 1 
    } 
    func pickerView(<#T##pickerView: UIPickerView##UIPickerView#>, numberOfRowsInComponent: <#T##Int#>)->Int 
    { 
     return states.count 
    } 


    func pickerView(<#T##pickerView: UIPickerView##UIPickerView#>, titleForRow: <#T##Int#>, forComponent: <#T##Int#>) -> String? 
    { 
     return states[row] 
    } 

} 

}

+1

你得到什麼錯誤.. – Developer

+0

/Users/arishtripathi/Desktop/prog/miraclepill/miraclepill/ViewController.swift:32:37:使用未申報類型爲 '<#牛逼## UIPickerView#>' –

+0

/Users/arishtripathi/Desktop/prog/miraclepill/miraclepill/ViewController.swift:11:7:類型'ViewController'不符合協議'UIPickerViewDataSource' –

回答

0

您添加在錯誤的地方委託的方法。不要將採摘代理方法放在按鈕操作中。

class ViewController : UIViewController,UIPickerViewDataSource,UIPickerViewDelegate { 

    @IBOutlet weak var statepickerbtn: UIButton! 
    @IBOutlet weak var statePicker: UIPickerView! 
    let states = ["alaska","alabama","akansas","california","maine","new york"] 

    override func viewDidLoad() { 
    super.viewDidLoad() 
    statePicker.dataSource = self 
    statePicker.delegate = self 
    // Do any additional setup after loading the view, typically from a nib. 
    } 

    override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
    } 

    @IBAction func statebtnpressed(_ sender: Any) { 
    //Do not place delegates method inside this action method. Instead of this use show hide procedure on picker view. 

    } 

public func numberOfComponents(in pickerView: UIPickerView) -> Int { 
    return 1 
} 

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 
    return states.count 

} 

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { 
    return states[row] 
} 

} 
+0

仍然是同樣的問題 –

+0

@arishtripathi也刪除所有''',' #'和'>'。 – shallowThought

+0

在Xcode上粘貼了這個,不工作 –