Warm tip: This article is reproduced from stackoverflow.com, please click
cocoa-touch ios objective-c

How To Get Selected Value From UIPickerView

发布于 2020-04-22 09:35:27

I know that with a UIDatePicker, you can use something like:

NSDate *myDate = picker.date;

But I am using a UIPickerView in my view. How can i similarly get the value selected? Or do I have to setup didSelectRow type of method to do this?

Update: This code works for picker with 1 component:

NSInteger row;
NSString *weightSelected;

row = [repPicker selectedRowInComponent:0];
weightSelected = [pickerArray objectAtIndex:row];

I tired this code for my picker with 2 components, but it is freezing:

NSInteger row1, row2;
NSString *weightSelected1;
NSString *weightSelected2;

row1 = [repPicker selectedRowInComponent:0];
row2 = [repPicker selectedRowInComponent:1];
weightSelected1 = [pickerArray objectAtIndex:row1];
weightSelected2 = [pickerArray objectAtIndex:row2];
NSString *weightSelected = [NSString stringWithFormat:@"%@.%@", weightSelected1, weightSelected2];
Questioner
user594161
Viewed
13
30.5k 2014-10-29 22:01

You can get it in the following manner:

NSInteger row;
NSArray *repeatPickerData;
UIPickerView *repeatPickerView;

row = [repeatPickerView selectedRowInComponent:0];
self.strPrintRepeat = [repeatPickerData objectAtIndex:row];