选择时 PickerView didSelectRow 会崩溃并显示 (lldb) 错误

PickerView didSelectRow when selecting it will Crash and shows (lldb) error

我正在创建自定义视图,因为我添加了选择器,当 did selected 选择后在索引方法中的行时,我将从 superView 中删除选择器,但应用程序会崩溃。如果不从 superview 中删除,它就不会崩溃。我能做什么请建议我。

我会在文本框选择时使用选择器

 _rUsername=[[UITextField alloc]initWithFrame:CGRectMake(15, 270, self.view.frame.size.width-30, 30)];
            _rUsername.backgroundColor=[UIColor whiteColor];
            _rUsername.placeholder=@"Gander";
            [_rUsername addTarget:self action:@selector(showPicker)forControlEvents:UIControlEventEditingDidBegin];
[_registerView addSubview:_rUsername];

Picker 方法现在出现问题

-(void) showPicker
{
    [_rUsername resignFirstResponder];
   UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(30,230,220,0)];

    pickerView.delegate = self;
    pickerView.dataSource = self;
    pickerView.showsSelectionIndicator = YES;
    [_registerView addSubview:pickerView];
}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    return [_arrayNo count];
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView     {
    return 1;
}

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
     return [_arrayNo objectAtIndex:row];
}
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component {
    int sectionWidth = 300;
    return sectionWidth;
}

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{

    _rUsername.text=[_arrayNo objectAtIndex:row];
     [pickerView removeFromSuperview];

}

在这里,如果我从 didselectRow 方法中删除 [pickerView removeFromSuperview];,它将正常工作,但我希望在选择选择器后必须从超级视图中删除。如果它不会崩溃并像这样显示错误“(lldb)”。

将其更改为以下内容:

pickerView.hidden = true;

使用这个 - [pickerView setHidden:YES];