Objective c 目标C中的If(BOOL):未使用的变量

Objective c 目标C中的If(BOOL):未使用的变量,objective-c,if-statement,boolean,ios6,cgrect,Objective C,If Statement,Boolean,Ios6,Cgrect,在CGRect的实现中,我尝试这样做: BOOL didStartPressing = NO; if ( didStartPressing) {int nmax=5;} else{int nmax=500;} for (int n=1; n<nmax; n=n+1){ *... working code that draws some circles ....* } 我在CGRect上画了一张可爱的画 非常感谢您的帮助,因为我已经完全摆脱了学习曲线的障碍。这是C语言的问题。在一

在CGRect的实现中,我尝试这样做:

BOOL didStartPressing = NO;
if ( didStartPressing) {int nmax=5;}
else{int nmax=500;}

for (int n=1; n<nmax; n=n+1){ *... working code that draws some circles ....*     }
我在CGRect上画了一张可爱的画


非常感谢您的帮助,因为我已经完全摆脱了学习曲线的障碍。

这是C语言的问题。在一对大括号内声明的变量的作用域仅为大括号内的部分。这意味着您有两个不同的变量,都称为
nmax
,每个变量都限制在if/else语句的相应部分

您可以使用以下工具使其工作:

int nmax = 500;
if ( didStartPressing) {
    nmax=5;
}

有关C编程的详细信息,请参阅一本书。

这是一门C语言。在一对大括号内声明的变量的作用域仅为大括号内的部分。这意味着您有两个不同的变量,都称为
nmax
,每个变量都限制在if/else语句的相应部分

您可以使用以下工具使其工作:

int nmax = 500;
if ( didStartPressing) {
    nmax=5;
}
有关C编程的更多详细信息,请参阅一本书。

您已将
nmax
的范围限制在
if
else
后面的大括号内。因此,您有两个同名变量,这两个变量对
for
循环都不可见。若要解决此问题,请将声明移动到外部范围,并简单地将其分配给
if
/
else
范围中的变量:

int nmax = 0;   // the = 0 is optional in this case because all code
                // paths assign a value to nmax
BOOL didStartPressing = NO;
if (didStartPressing) {
    nmax=5;
} else {
    nmax=500;
}

for (int n=1; n<nmax; n=n+1) {
    /*... working code that draws some circles ....*/
}
int nmax=0;//在这种情况下,=0是可选的,因为所有代码
//路径为nmax指定一个值
BOOL didStartPressing=否;
如果(didStartPressing){
nmax=5;
}否则{
nmax=500;
}
对于(int n=1;n您已将
nmax
的范围限制在
if
else
后面的大括号内。因此,您有两个同名变量,对于
for
循环,这两个变量都不可见。若要解决此问题,请将声明移到外部范围,只需将其分配给
if
//code>else
范围:

int nmax = 0;   // the = 0 is optional in this case because all code
                // paths assign a value to nmax
BOOL didStartPressing = NO;
if (didStartPressing) {
    nmax=5;
} else {
    nmax=500;
}

for (int n=1; n<nmax; n=n+1) {
    /*... working code that draws some circles ....*/
}
int nmax=0;//在这种情况下,=0是可选的,因为所有代码
//路径为nmax指定一个值
BOOL didStartPressing=否;
如果(didStartPressing){
nmax=5;
}否则{
nmax=500;
}

对于(intn=1;nThanks)来说,这个技巧现在非常有意义。是否有一种直接的“C”方式允许通过UIButton方法更改int变量的值,或者必须使这样的变量成为一个完整的目标C对象?您的意思是类似于
-(iAction)changeIntValue:(id)sender{myIntVariable=12345;}
?Jonathan,这也给出了“使用未声明的标识符nmax”。谢谢你,Jonathan,我们将进一步讨论这个问题。成功地使代码按照(nmax=nmax+100)增加点击一个按钮,添加一个实例变量。现在只是尝试重新绘制我的rect,从一个显然没有在界面中声明它的tute修改。但是我很好,谢谢!非常感谢你的提示,现在有意义了。有一个直接的“C”吗允许通过UIButton方法更改整型变量的值的方法,还是必须使此类变量成为一个完整的Objective C对象?您的意思是类似于
-(iAction)changeIntValue:(id)sender{myIntVariable=12345;}
?Jonathan,这也给出了“使用未声明的标识符nmax”谢谢,Jonathan,我会更深入地了解这一点。通过添加一个实例变量,点击一个按钮,成功地使代码按(nmax=nmax+100)增加。现在,我正在尝试重新绘制我的rect,它是从一个显然没有在界面中声明的tute修改而来的。但我很好,谢谢!