试图获得performSelector:withObject工作的最简单的可能示例

mor*_*des 8 objective-c

这是我的"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).

":"计数; 它是方法名称的一部分.

  • 谢谢你,谢谢你,谢谢你!现在我需要给我的额头贴上绷带. (2认同)