Seb*_*ian 1 cocoa-touch objective-c selector ios
我有一个按钮,UIView就像这样创建:
UIBarButtonItem *editButton =
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit
target:self
action:@selector(toggleEdit)];
self.navigationItem.rightBarButtonItem = editButton;
[editButton release];
Run Code Online (Sandbox Code Playgroud)
这是动作方法:
-(void) toggleEdit:(id)sender
{
}
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个错误
2011-09-02 15:27:13.362 blubb [15006:207] - [DatabaseSelectionViewController toggleEdit]:无法识别的选择器发送到实例0x5a29d80 2011-09-02 15:27:13.365 blubb [15006:207] *终止应用程序由于未被捕获异常'NSInvalidArgumentException',原因:' - [DatabaseSelectionViewController toggleEdit]:无法识别的选择器发送到实例0x5a29d80'
为什么会这样?
选择器的正确名称是
@selector(toggleEdit:)
Run Code Online (Sandbox Code Playgroud)
没有:它会寻找具有此签名的方法:
-(void) toggleEdit // No parameters
{
}
Run Code Online (Sandbox Code Playgroud)
当你实际宣布:
-(void) toggleEdit:(id)sender
{
}
Run Code Online (Sandbox Code Playgroud)
更改
@selector(toggleEdit)
Run Code Online (Sandbox Code Playgroud)
至
@selector(toggleEdit:)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
411 次 |
| 最近记录: |