javascript - How can I invoke a class method in Swift if I only have the string? -


i writing cordova plugin healthkit , task make sure can dynamically read more or less data hk. im doing native part in swift. write javascript bit lost in swift part.

i want able dynamically invoke methods having string.

let store = hkhealthstore()      {         let bloodtype: hkbloodtypeobject = try store.bloodtype() ... 

that example read blood type. not swift developer, there way can dynamically, in javascript:

... // assuming function receives string paramater let param[0] = try store[param[0]]() // <-- how in swift? 

then can talk server , list of characteristics , load them dynamically healthkit without having update code , hardcode each possible characteristic.

create mapping parameter strings api enumeration.

enum api: string {     case function1 = "function1"     case function2 = "functiontwo"     case function3 = "threethreethree" } 

create relay function maps api enumeration swift function.

func callthecorrectfunction(_ api: api) {     switch api {     case .function1: updateblood()     case .function2: spinaround()     case .function3: jump()     } } 

construct function call using enum's rawvalue initializer.

let param = fromsomejsonstrings[0] let api = api(rawvalue: param) callthecorrectfunction(api) 

alternatively, use dictionary mapping [string: function] in same way.

typealias function = () -> () let dict = {     "function1": updateblood,     "function2": spinaround, } dict[param[0]]() 

Comments

Popular posts from this blog

python - How to insert QWidgets in the middle of a Layout? -

python - serve multiple gunicorn django instances under nginx ubuntu -

module - Prestashop displayPaymentReturn hook url -