0

我是 iOS 的初学者在我的一项活动中,我创建了带有搜索栏的自定义选择器视图.....实际上,我正在使用 YHCPicker 类来自定义选择器视图和搜索栏,并将其应用于 TextField 代码here.....

 UITextField* StateId;

 StateId=[[UITextField alloc]initWithFrame:CGRectMake(150,540,150,30)];
 StateId.font        = [UIFont boldSystemFontOfSize:12.0];
 StateId.borderStyle = UITextBorderStyleLine;

 StateId.delegate = self;
 StateId.tag      = 4;
 [scrollview addSubview:StateId];

我正在将此委托用于此文本字段....

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    if (textField.tag==4)
    {
        View_StateID = [[NSMutable Array]allocinitWithArray:@"Delhi", @"Rajasthan"......, nil];
        NSLog(@"dict is %@",View_StateID);

        PickerView* objYHCPickerView = [[PickerView alloc] initWithFrame:CGRectMake(0, 0, 320, 480) ];

        objYHCPickerView.delegate = self;
        [self.view addSubview:objYHCPickerView];
        [objYHCPickerView showPicker:View_StateID];
    }
}

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
     [textField resignFirstResponder];
     return YES;
} 

然后在 YHCPickerView 中调用 ShowPicker 方法,并在我的视图上显示带有搜索栏的这个选择器.....就像图像一样 在此处输入图像描述

现在在这张图片中,当我们第一次在搜索栏中搜索然后成功获得所需状态并单击完成或搜索按钮(从键盘)然后在 StateID 文本字段上获取值但是当我们再次点击文本字段时,我的图像以及但点击在搜索栏上然后得到这样的错误....

 -[CALayer keyboardWillShowNotification:]: unrecognized selector sent to instance 0xaad8950

所以我不知道什么问题......所以解决这个问题......

4

1 回答 1

0

像这样的错误可能是由于未正确保留对象引起的:

  1. 对象被释放并释放。
  2. 它的内存被一些随机的其他对象重用。
  3. 然后,当在原始对象上调用选择器时 -> 繁荣。

要检查的一件事是,如果您在班级中持有的所有对象@properties都是.strongassign

设置异常断点也是明智之举

最后,尝试找出该指针0xaad8950(确实)属于哪个对象:在应用程序崩溃之前,将断点越来越远,并查看您所拥有的对象的地址。

祝你好运!

于 2013-08-24T14:15:29.647 回答