I am new to Objective-C and I am looking for an eval statement like I have used in Matlab.
If you are not familiar with this, you can build a character string and then eval that string, which treats it like it is a line of code.
Here is a example where you would want to change the background color of one of a series of 4 buttons based on a variable foo which = 3 and you buttons would be named button1, button2 etc.
NSString* buttonEval = [[NSString alloc] initWithFormat:@"[button%d setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];", foo]
Is there a statement the will evaluate this string as if it was a line of code?
No; although Objective-C is a dynamically typed language, it is still a compiled language, and not an interpreted one, unlike a language such as Javascript or PHP, for example.
For the above example, you could use an array to store pointers to your
UIButtoninstances:And later retrieve a pointer to the
UIButtonthat you want to call the method on.