Objective c NSSelectorFromString不工作

Objective c NSSelectorFromString不工作,objective-c,Objective C,当我使用选择器时,如果我按照以下方式编写代码,一切正常: if ([self respondsToSelector:@selector(placeToDownWithPos: shipSize:)]) { NSLog(@"respondsToSelector"); } 但当我尝试使用下面的代码时,“if语句将为false”: SEL selector = NSSelectorFromString(@"placeToDownWithPos: shipSize:"); if ([self

当我使用选择器时,如果我按照以下方式编写代码,一切正常:

if ([self respondsToSelector:@selector(placeToDownWithPos: shipSize:)]) {
    NSLog(@"respondsToSelector");
}
但当我尝试使用下面的代码时,“if语句将为false”:

SEL selector = NSSelectorFromString(@"placeToDownWithPos: shipSize:");
if ([self respondsToSelector:selector]) {
    NSLog(@"respondsToSelector");
}

这里出了什么问题,如何解决?谢谢

方法名称中没有空格。您的代码应该是:

SEL selector = NSSelectorFromString(@"placeToDownWithPos:shipSize:");
if ([self respondsToSelector:selector]) {
    NSLog(@"respondsToSelector");
}

试着去掉选择器名称中的空格。@maddy非常感谢。你能在下面写一个答案而不是在这里发表评论吗,这样我就可以把它作为正确的答案并投上一票@LeoNatan哈哈,你说得对。