Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从UIPickerView获取未经选择的行_Ios_Objective C_Uipickerview - Fatal编程技术网

Ios 从UIPickerView获取未经选择的行

Ios 从UIPickerView获取未经选择的行,ios,objective-c,uipickerview,Ios,Objective C,Uipickerview,我有一个pickerview,它从视图控制器did load方法上的核心数据获取加载。一切都很好,但是我发现我经常传递空值,而且我必须来回旋转选择器并单击几次以保持值 我也有一个问题,如果用户没有手动选择一些东西,我需要它来传递选择器打开的值。我在同一个viewcontroller上有一个日期选择器,它可以毫无问题地传递任何日期。我可能忽略了什么……任何帮助都将不胜感激 # pragma mark PickerView Section - (NSInteger)numberOfComponen

我有一个pickerview,它从视图控制器did load方法上的核心数据获取加载。一切都很好,但是我发现我经常传递空值,而且我必须来回旋转选择器并单击几次以保持值

我也有一个问题,如果用户没有手动选择一些东西,我需要它来传递选择器打开的值。我在同一个viewcontroller上有一个日期选择器,它可以毫无问题地传递任何日期。我可能忽略了什么……任何帮助都将不胜感激

# pragma mark PickerView Section

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 1;  // returns the number of columns to display.
}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    return [profiles count];  // returns the number of rows
}

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
    // Display the profiles we've fetched on the picker

    Profiles *prof = [profiles objectAtIndex:row];
    return prof.profilename;
}

//If the user chooses from the pickerview

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    selectedProfile = [[profiles objectAtIndex:row]valueForKey:@"profilename"];

}


# pragma mark Segue Section

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    if ([[segue identifier] isEqualToString:@"resultsSegue"]) {

        ResultsVC *result = segue.destinationViewController;

        result.profileName = [NSString stringWithFormat:@"%@",selectedProfile];

        NSDate *selectedDate = [datePicker date];
        result.trialDate = selectedDate;

    }
}

您需要将
selectedProfile
初始化为选择器中的第一个值。在
viewDidLoad
中执行此操作。这样,如果用户从未明确选择值,则默认情况下,
selectedProfile
将设置为第一个值