Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.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_Nsuserdefaults_Uipopover - Fatal编程技术网

Ios 有没有办法清除uipickerview选择?

Ios 有没有办法清除uipickerview选择?,ios,objective-c,uipickerview,nsuserdefaults,uipopover,Ios,Objective C,Uipickerview,Nsuserdefaults,Uipopover,我在UIPover中有一个完美工作的uipickerview,带有“完成”和“取消”按钮。当用户多次打开uipickerview时,我可以保存最后选定的行并将其显示为默认行。问题是,当用户注销并登录时,我希望uipickerview重新启动,即当我打开uipickerview并单击“完成”按钮(不选择任何行)时,我希望它与默认行(即第0行)一起运行,但它会显示注销前最后选择的行!!我怎样才能解决这个问题??非常感谢你的帮助 NSString *selectedType = @"ALL"; int

我在UIPover中有一个完美工作的uipickerview,带有“完成”和“取消”按钮。当用户多次打开uipickerview时,我可以保存最后选定的行并将其显示为默认行。问题是,当用户注销并登录时,我希望uipickerview重新启动,即当我打开uipickerview并单击“完成”按钮(不选择任何行)时,我希望它与默认行(即第0行)一起运行,但它会显示注销前最后选择的行!!我怎样才能解决这个问题??非常感谢你的帮助

NSString *selectedType = @"ALL";
int rowselected = 0;

- (void)viewDidLoad
{
    [super viewDidLoad];
    rowselected = 0;
    _typearray = [[NSArray alloc] initWithObjects:@"ALL", @"COACH", @"GROUP", @"PRIVATE", nil];
    NSInteger lastrow =[[[NSUserDefaults standardUserDefaults] objectForKey:@"gueststyperow"] integerValue];

    if(lastrow!=0)
        [self.picktype selectRow:lastrow inComponent:0 animated:NO];
    else
        [self.picktype selectRow:0 inComponent:0 animated:NO];
}
//按下“完成”按钮:

- (IBAction)doneButtonPress:(UIBarButtonItem *)sender {
    NSLog(@"%@",_delegate);
    NSNumber *temprow = [NSNumber numberWithInt:rowselected];
    [[NSUserDefaults standardUserDefaults] setValue:temprow forKey:@"gueststyperow"];
    [_delegate sendtype:selectedType];
}
//PICKERVIEW选择

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row
        inComponent:(NSInteger)component{
        rowselected = row;
        selectedType = [_typearray objectAtIndex:row];
}

把这个放到上面
[super viewDidLoad]

[picker reloadAllComponents];
[picker selectRow:0 inComponent:0 animated:YES];

这应该在每次加载视图时将pickerview设置为0索引行。

您是否尝试在
viewDidLoad
中将pickerview设置为nil?谢谢@CaptJak..您能否更具体地说明如何在代码中完成此操作?CaptKack说了什么。释放,设置为nil,然后创建一个新的选择器视图。如何释放?我正在做ARC项目@rockyOh你从来没提过那件事所以别提了。然后设置为零。是的,它在@CaptJak工作。谢谢你…我把它放在[super viewdidload]后面,它工作起来很有魅力