0

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

如果用户不手动选择某些东西,我也会遇到问题,我需要它来传递选择器所在的值。我在同一个视图控制器上有一个日期选择器,它通过它所在的任何日期都没有任何问题。我可能忽略了一些东西..任何帮助将不胜感激

# 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;

    }
}
4

1 回答 1

1

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

于 2013-10-31T20:11:53.057 回答