Swift中具有外部参数名称的方法的方法选择器名称(签名)是什么?
class Demo: NSObject {
func sayHello(to person: String, and anotherPerson: String) -> String {
return "Hello \(person) and \(anotherPerson)!"
}
}
let object = Demo()
print(object.respondsToSelector("sayHello:to:and:")) // false
答案 0 :(得分:1)
最简单的解决方法是
#import "ProjectName-Swift.h"
在Objective-C文件中,编译项目,然后按住Command键单击 在“ProjectName-Swift.h”上。然后你会看到Swift方法 映射到Objective-C
- (NSString * __nonnull)sayHelloTo:(NSString * __nonnull)person and:(NSString * __nonnull)anotherPerson;
从那里你可以得出正确的选择字符串
是"sayHelloTo:and:"
:
print(object.respondsToSelector("sayHelloTo:and:"))
另请注意,选择器必须具有两个冒号,每个冒号一个 方法参数。
答案 1 :(得分:0)
尝试这样打电话:
object.respondsToSelector(Selector("sayHello:to:and:"))
希望这有帮助!