selector - 在 Objective C 中,"无法识别的选择器发送到实例"错误

  显示原文与译文双语对照的内容
150 1

我创建了一个按钮并为它添加了一个操作,但是一旦调用它,我就得到了这个错误:

-[NSCFDictionary numberButtonClick:]: unrecognized selector sent to instance
 0x3d03ac0 2010-03-16 22:23:58.811
 Money[8056:207] *** Terminating app
 due to uncaught exception
 'NSInvalidArgumentException', reason:'*** -[NSCFDictionary numberButtonClick:]: unrecognized selector sent to instance 0x3d03ac0'

这是我的代码:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
 if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
 UIButton *numberButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
 numberButton.frame = CGRectMake(10, 435, 46, 38);
 [numberButton setImage:[UIImage imageNamed:@"one.png"] forState:UIControlStateNormal];
 [numberButton addTarget:self action:@selector(numberButtonClick:) forControlEvents:UIControlEventTouchUpInside];
 [self.view addSubview: numberButton]; 
 }
return self;
}
-(IBAction)numberButtonClick:(id)sender{
 NSLog(@"---");
}
时间:原作者:0个回答

61 1

你似乎无法正确管理视图控制器并在某一点释放它- 这导致将 numberButtonClicked: 方法发送到当前占用view控制器占用的内存的其他对象。

确保正确地保留/释放视图控制器。

原作者:
...