【发布时间】:2016-12-07 15:11:55
【问题描述】:
我必须调用一个类的方法。这种方法可能存在或不存在。
我正在寻找 2 小时后的解决方案。
以下工作无参数sayHello()
我有课:
class myClass: NSObject {
func say(something:String){
print("I say : \(something)")
}
func sayHello(){
print("Hello")
}
}
第一步:从带有参数的字符串创建选择器
let selector = NSSelectorFromString("sayHello" )
let selectorWithParam = NSSelectorFromString("say:" )
第二步:测试方法是否存在
self.bot?.responds(to: selector)// true
self.bot?.responds(to: selectorWithParam) // false
它不适用于参数!
此外,我尝试使用 Swift3 #selector,但我发现无法从字符串中输入方法
【问题讨论】:
标签: swift3 selector nsobject performselector respond-to