我是Objective-C的新手,我正在寻找eval
像我在Matlab中使用过的声明.
如果您对此不熟悉,可以构建一个字符串,然后构建一个eval
字符串,将其视为一行代码.
下面是一个示例,您希望根据变量foo = 3更改一系列4个按钮之一的背景颜色,并将按钮命名为button1,button2等.
NSString* buttonEval = [[NSString alloc] initWithFormat:@"[button%d setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];", foo]
Run Code Online (Sandbox Code Playgroud)
是否有一个声明将对此字符串进行评估,就像它是一行代码一样?
我有一个视图,谁的方法被视图控制器中的加速度计更新调用.我需要多个方法来使用和更改某些变量,例如,一个方法初始化变量,另一个方法用每个加速更新更新它们的值.
我知道如果他们只在一种方法上使用我可以在该方法中声明它们并且没问题.但是因为它们在多种方法中使用,所以我一直在实现文件的顶部声明它们,但不是我认为相信错误的静态.在Apple的一些示例代码中,他们总是在接口文件中声明这些代码.这样做的最佳方式是什么?为什么?
我目前的方法:
@implementation
int foo;
备选方案1:
@implementation
static int foo;
备选方案2:
@interface {
int foo;
谢谢,