swift3.0 PickerViewの応用



PickerViewの使用には、UIPickerView Delegate、UIPickerView Data Sourceの2つのプロトコルが必要です.
class ViewController: UIViewController ,UIPickerViewDelegate,UIPickerViewDataSource {

    
    var pickerData: NSDictionary!   // 
    var pickerProvincesData: NSArray!   // 
    var pickerCitiesData: NSArray!  // 
    var pickerView: UIPickerView!
    var LabelPickerView: UILabel!

override func viewDidLoad() {
        super.viewDidLoad()

        let plistPath = Bundle.main.path(forResource: "provinces_cities", ofType: "plist")
        let dict = NSDictionary(contentsOfFile: plistPath!)
        self.pickerData = dict
        
        self.pickerProvincesData = self.pickerData.allKeys as NSArray!
            // 
        let selectedProvince = self.pickerProvincesData[0] as! NSString
        self.pickerCitiesData = self.pickerData[selectedProvince] as! NSArray
            // 
        self.pickerView = UIPickerView(frame: CGRect(x: (screen.size.width/2 + 10), y: 160, width: screen.size.width/2 - 30, height: 200))
        self.view.addSubview(pickerView)
        self.pickerView.dataSource = self
        self.pickerView.delegate = self
            // label
        LabelPickerView = UILabel(frame: CGRect(x: (screen.size.width/2 + 10), y: 400, width: screen.size.width/2 - 30, height: 30))
        self.LabelPickerView.text = "LabelPickerView"
        self.LabelPickerView.textAlignment = .center// 
        self.view.addSubview(LabelPickerView)

}

 
 
 
関東昇の『開発ガイド』を参考に