在条件中设置浮点值

时间:2011-09-02 01:46:31

标签: iphone objective-c ios cocoa-touch

 if(eventRecord.byName){
        presented.text = eventRecord.byName;   
        float descPos = 50.0;
  }else{
        [presented removeFromSuperview];
        float descPos = 35.0;
  }


CGRect descFrame = CGRectMake(125, descPos, 185, descStringSize.height);

我甚至不确定该怎么做,因为我一直在使用objective-c一直使用对象。但是现在,我需要根据条件设置一个带浮点值的变量。我不确定语法应该是什么。

在旁注中,xcode4将最后一行作为错误,因为descPos未声明。但一旦条件运行,它不会是它吗?

1 个答案:

答案 0 :(得分:5)

您只是在descPos声明的范围内声明if。要访问您在if块内设置的值,请​​事先声明:

float descPos;
if(eventRecord.byName){
    presented.text = eventRecord.byName;   
    descPos = 50.0;
} else{
    [presented removeFromSuperview];
    descPos = 35.0;
}

CGRect descFrame = CGRectMake(125, descPos, 185, descStringSize.height)

否则,按照你的方式,descPos的值会在块结束时被丢弃(使用}大括号)。