0
Как вы вызываете функцию на основе имени функции String var и передаете аргумент функции? Я пытался это сделать, Свифт и, наконец, понял.swift 3 выполнить селектор с аргументом
Как вы вызываете функцию на основе имени функции String var и передаете аргумент функции? Я пытался это сделать, Свифт и, наконец, понял.swift 3 выполнить селектор с аргументом
В 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)
}
Ваше решение работает, но не рекомендуется. Swift отходит от создания селекторов из строк. Я бы не удивился, если бы Свифт полностью устранил эту способность в ближайшем будущем. Скорее, вы должны использовать Swift-версию сигнатуры функции и НЕ создавать селектор из строки вообще. –
Каков рекомендуемый способ? –
Да Дункан С, спасибо за ваши отзывы; но извините, но это не очень конструктивно? где код за этим советом? – user3069232