swift 3使用参数执行选择器
答
在斯威夫特3 - 入 'PARAMS' 作为[字符串:任何],其中PARAMS [ “函数”] == “getSomeData”
let funcName = String(format: "%@:", (params["function"] as? String)!)
let selector = NSSelectorFromString(funcName)
self.perform(selector, with: params)
func getSomeData(_ params: [String: Any]) {
print(params)
}
你的解决方案的工作,但不推荐。 Swift正在从创建字符串选择器开始。如果斯威夫特在不久的将来完全消除这种能力,我一点都不会感到惊讶。相反,你应该使用Swift版本的函数签名,而不是从字符串中根本建立一个选择器。 –
推荐的方式是什么? –
是的Duncan C,感谢您的反馈;但抱歉,这不是很有建设性?这个建议背后的代码是什么? – user3069232