ビューコントローラーのコアデータフェッチからロードするピッカービューがロードメソッドを実行しました。すべてがうまく機能しますが、null 値を頻繁に渡していることがわかりました。保持する値を取得するには、ピッカーを前後に回転させて数回クリックする必要があります。
ユーザーが手動で何かを選択しない場合にも問題があります。ピッカーがオンになっている値を渡す必要があります。同じビューコントローラーに日付ピッカーがあり、問題なく座っている日付を渡します。私はおそらく何かを見落としています..どんな助けもいただければ幸いです
# 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;
}
}