这是我的"targetMethod"的方法签名:
-(void)targetMethod: (id)arg;
Run Code Online (Sandbox Code Playgroud)
这有效:
[myObject targetMethod:@"called the regular way"];
Run Code Online (Sandbox Code Playgroud)
事实并非如此
[myObject performSelector:@selector(targetMethod) withObject:@"called using selector"];
Run Code Online (Sandbox Code Playgroud)
它会导致以下错误:
- [SelectorTest targetMethod]:无法识别的选择器发送到实例0x4e075d0
我究竟做错了什么?
Dav*_*har 17
您拼写选择器名称错误.
这@selector(targetMethod:),不是@selector(targetMethod).
":"计数; 它是方法名称的一部分.