별도의 뷰 settingsViewController에 많은 행이 포함 된 UIPickerView가 있습니다. 행이 선택되면 NSUserDefaults를 통해 데이터를 내 mainViewController로 전달합니다. 그러나 settingsViewController로 돌아가서 행을 변경하지 않고 저장 버튼을 누르면 pickerView가 'nil'값을 보내는 것처럼 보입니까?별도 뷰의 UIPickerView 값이 손실 됨
여기에 UIPickerView 코드와 행을 전달하는 코드가 있습니다.
//PickerViewCode
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[picker selectRow:[defaults integerForKey:@"pickerRow"] inComponent:0 animated:YES];
}
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:
(NSInteger)component {
{
if ([skolor count] == 0)
return 1;
return [skolor count];
}}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row
forComponent:(NSInteger)component {
return [skolor objectAtIndex:row];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row
inComponent:(NSInteger)component {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setInteger:row forKey:@"pickerRow"];
//Passing pickerViewValue
- (IBAction)selectedRow:(id)sender {
SchoolSoftViewController2 *vc1 = [self.storyboard
instantiateViewControllerWithIdentifier:@"webview1"];
NSString *urlString = [valdSkola absoluteString];
[[NSUserDefaults standardUserDefaults] setObject:urlString forKey:@"UserURL"];
[self presentViewController:vc1 animated:YES completion:nil];
}
그 부분은 이미 작동합니다. 그것을 저장하고 mainViewController에 올바른 값이로드됩니다. 그것은 settingsViewController로 돌아가서 값을 변경하지 않고 save 버튼을 누를 때만입니다. pickerView는 여전히 mainViewController에로드되지 않는 같은 값을 표시합니다 – Pierre
행은로드하지만 다른 값은로드되지 않습니다. . – Pierre