【问题标题】:Xcode BOOL type: from input YES, I want to get value NOXcode BOOL 类型:从输入 YES,我想得到值 NO
【发布时间】:2023-04-03 16:30:01
【问题描述】:

我有一个非常简单的方法,但它不起作用。最终,从输入 YES,我想得到 NO 并反转。

-(void)myMethod:(BOOL)ys{
    if (ys==YES) {
        myLabel.hidden=NO;
        myButton.hidden=NO;
    }{
        myLabel.hidden=YES;
        myButton.hidden=YES;
    }
}

你们能帮我更正和缩短代码吗?谢谢

【问题讨论】:

    标签: objective-c xcode boolean


    【解决方案1】:

    也许这更容易一些:

    -(void)myMethod:(BOOL)ys{
        myLabel.hidden = !ys;
        myButton.hidden = !ys;
    }
    

    【讨论】:

      【解决方案2】:
      -(void)myMethod:(BOOL)visible
      { 
          [myLabel setHidden:!visible]; 
          [myButton setHidden:!visible]; 
      }
      

      代码应该可以工作。但是,您的代码不起作用可能是因为您没有为标签和按钮设置引用出口(如果您使用界面生成器创建它们)。

      参考网点应该这样设置。否则编译器不知道你要隐藏的按钮是不是界面上的按钮。

      如果您使用代码创建了按钮/标签,请在尝试将它们设置为可见之前检查它们是否已释放。

      【讨论】:

        【解决方案3】:
        -(void)myMethod:(BOOL)ys{
            if (ys) {
                myLabel.hidden=NO;
                myButton.hidden=NO;
            } else {
                myLabel.hidden=YES;
                myButton.hidden=YES;
            }
        }
        

        【讨论】:

          【解决方案4】:

          如果我们试图缩短它...`

          -(void)myMethod:(BOOL)ys{
              myLabel.hidden = myButton.hidden = !ys;
           }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-06-23
            • 2023-01-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多