ios - How to get an "extern const int" value by its name -
i int
value of extern const
name.
for example in .h file:
extern const int my_int_const;
in .m file:
const int my_int_const = 0;
what want:
- (void) method { int = [getmyconstantfromstring:@"my_int_const"]; }
how can that?
i searched in runtime api , did not find anything.
there's no simple way this. neither language nor runtime provide facility this.
it can done using api of dynamic loader symbol's address name.
// near top of file #include <dlfcn.h> // elsewhere int* pointer = dlsym(rtld_self, "my_int_const"); if (pointer) { int value = *pointer; // use value... }
note, that's c-style string that's passed dlsym()
. if have nsstring
, can use -utf8string
c-style string.
Comments
Post a Comment