2017-02-14 3 views

ответ

0

В Swift 3 - в [String: Любой] въездного '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) 
} 
+0

Ваше решение работает, но не рекомендуется. Swift отходит от создания селекторов из строк. Я бы не удивился, если бы Свифт полностью устранил эту способность в ближайшем будущем. Скорее, вы должны использовать Swift-версию сигнатуры функции и НЕ создавать селектор из строки вообще. –

+1

Каков рекомендуемый способ? –

+0

Да Дункан С, спасибо за ваши отзывы; но извините, но это не очень конструктивно? где код за этим советом? – user3069232

Смежные вопросы