Я прочитал много ответов, но я не мог найти окончательного ответа на свой вопрос.
В Swift у меня есть 3 (или более) разных метода. Единственное, что у них общего, это тип возвращаемого значения, например.
A(a:String)->MyType
B(a:Int,b:String,c:AnyObject,d:Whatever)->MyType
C(a:Int,b:String,c:Other)->MyType
Мне нужно передать функции в качестве аргумента метода класса, например.
myClass.configureIOTDevice(configFile:String, functionToCall:A)
Затем внутри тела этого метода я хочу вызвать:
functionToCall()
Как видите, возникает проблема: как передать нужные аргументы для разных сигнатур?
Приветствуется любая помощь, совет и, почему бы и нет, тухлый помидор :-)
[String: Any]
, распаковывает его и вызывает вашу функцию. Затем вы передадите словарь и замыкание([String: Any]) -> MyType
в свою функцию, и она вызоветfunctionToCall(dict)
, когда придет время. - person vacawama   schedule 03.08.2017perform
иNSSelectorFromString
, но они немного ограничены - person   schedule 03.08.2017