0
関数名String varに基づいて関数をどのように呼び出し、関数の引数に渡しますか?私はこれをやってみようとしていたSwiftと最終的にそれを得た。スウィフト3ではswift 3引数付きのセレクタを実行
関数名String varに基づいて関数をどのように呼び出し、関数の引数に渡しますか?私はこれをやってみようとしていたSwiftと最終的にそれを得た。スウィフト3ではswift 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バージョンを使用し、文字列からセレクタを作成しないでください。 –
お勧めの方法は何ですか? –
はいDuncan C、あなたのフィードバックに感謝します。申し訳ありませんが、建設的ではありませんか?このアドバイスの背後にあるコードはどこですか? – user3069232