Saya mendapatkan banyak jawaban tetapi saya tidak dapat menemukan jawaban pasti atas pertanyaan saya.
Di Swift, saya memiliki 3 (atau lebih) metode berbeda. Satu-satunya kesamaan yang mereka miliki adalah tipe pengembaliannya, misalnya.
A(a:String)->MyType
B(a:Int,b:String,c:AnyObject,d:Whatever)->MyType
C(a:Int,b:String,c:Other)->MyType
Saya perlu meneruskan fungsi sebagai argumen metode kelas, misalnya.
myClass.configureIOTDevice(configFile:String, functionToCall:A)
Kemudian, di dalam isi metode ini saya ingin memanggil:
functionToCall()
Seperti yang Anda lihat, muncul masalah: bagaimana cara menyampaikan argumen yang diperlukan untuk tanda tangan yang berbeda?
Bantuan apa pun, tip dan, mengapa tidak, tomat busuk sangat dihargai :-)
[String: Any]
dan membongkarnya serta memanggil fungsi Anda. Kemudian Anda akan meneruskan kamus dan penutupan([String: Any]) -> MyType
ke fungsi Anda dan fungsi itu akan memanggilfunctionToCall(dict)
ketika saatnya tiba. - person vacawama   schedule 03.08.2017perform
danNSSelectorFromString
, tetapi keduanya agak terbatas - person   schedule 03.08.2017