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来处理对象。但是现在,我需要根据条件设置一个带有浮点值的变量。我不确定语法应该是什么。

另外,由于未声明descPos,xcode4将最后一行作为错误。但是条件一旦运行就不会了吗?

最佳答案

您仅在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大括号),就将丢弃}的值。

10-08 08:45