Currently I'm developing a mobile application using Xcode 7 Swift. My application use pickerView. I have 7 pickerView.
What I want to do is, to get the value of the every pickerView after press the button. But I don't know how. I'm still beginner in Xcode and Swift.
Here is my coding
@IBOutlet weak var vomit: UIPickerView!
@IBOutlet weak var headache: UIPickerView!
@IBOutlet weak var muscle: UIPickerView!
@IBOutlet weak var abdominal: UIPickerView!
@IBOutlet weak var skin: UIPickerView!
@IBOutlet weak var bleeding: UIPickerView!
@IBOutlet weak var fever: UIPickerView!
var pickerVomit: [String] = [String]()
var pickerHead: [String] = [String]()
var pickerMuscle: [String] = [String]()
var pickerAbdominal: [String] = [String]()
var pickerSkin: [String] = [String]()
var pickerBleeding: [String] = [String]()
var pickerFever: [String] = [String]()
var vomitData = []
var headData = []
var muscleData = []
var abdominalData = []
var skinData = []
var BleedingData = []
var feverData = []
@IBAction func backMenu(sender: AnyObject) {
self.dismissViewControllerAnimated(true , completion: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
//Looks for single or multiple taps.
//let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "dismissKeyboard")
//view.addGestureRecognizer(tap)
vomitData = ["No","Yes"]
headData = ["No","Yes"]
muscleData = ["No","Yes"]
abdominalData = ["No","Yes"]
skinData = ["No","Yes"]
BleedingData = ["No","Yes"]
feverData = ["No","Yes"]
}
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if (pickerView.tag == 1){
return vomitData.count
}
else if (pickerView.tag == 2){
return headData.count
}
else if (pickerView.tag == 3){
return muscleData.count
}
else if (pickerView.tag == 4){
return abdominalData.count
}
else if (pickerView.tag == 5){
return skinData.count
}
else if (pickerView.tag == 6){
return BleedingData.count
}
else {
return feverData.count
}
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if (pickerView.tag == 1){
return "\(vomitData[row])"
}
else if (pickerView.tag == 2){
return "\(headData[row])"
}
else if (pickerView.tag == 3){
return "\(muscleData[row])"
}
else if (pickerView.tag == 4){
return "\(abdominalData[row])"
}
else if (pickerView.tag == 5){
return "\(skinData[row])"
}
else if (pickerView.tag == 6){
return "\(BleedingData[row])"
}
else {
return "\(feverData[row])"
}
}
I really hope someone can help me get through this. Thank you.
first of all you have 7 pickerview.
@IBOutlet weak var vomit: UIPickerView!
@IBOutlet weak var headache: UIPickerView!
@IBOutlet weak var muscle: UIPickerView!
@IBOutlet weak var abdominal: UIPickerView!
@IBOutlet weak var skin: UIPickerView!
@IBOutlet weak var bleeding: UIPickerView!
@IBOutlet weak var fever: UIPickerView!
And 7 array containing values according to pickerview.
var vomitData = []
var headData = []
var muscleData = []
var abdominalData = []
var skinData = []
var BleedingData = []
var feverData = []
Now, you want value from every picker for selected row when button clicked! so add following code in button action method,
let int_Vomit = self.vomit.selectedRowInComponent(0)
print("\(vomitData[row])")
continue same for other pickerView's.