警告开关条件具有布尔值

时间:2014-08-01 07:25:48

标签: ios objective-c boolean

首先点击按钮,在第二个上午删除子视图时显示子视图。它正常工作,但是收到警告是 切换条件具有布尔值

Bool Selected;


-(void)ageview
{
    switch (Selected) {
        case 0:
            ageview=[[UIView alloc]initWithFrame:CGRectMake(26, 110, 100, 135)];
            ageview.backgroundColor=[UIColor whiteColor];
            [self.view addSubview:ageview];


            Selected=1;
            break;
        case 1:
            [ageview setHidden:YES];
            Selected=0;
            break;

        default:
            break;
    } 
}

3 个答案:

答案 0 :(得分:2)

此警告在64位设备中生成。如果在运行代码时更改目标设备,则此警告将消失。 BOOL是一个签名的char。您可以使用Boolean作为unsigned char。以下链接可能有助于理解BOOL行为。 http://www.bignerdranch.com/blog/bools-sharp-corners/

答案 1 :(得分:1)

在Objective-C switch语句中需要int值。但是你提供了Bool值,因为它正在发出警告。

关于您的工作代码,TRUE/YES相当于1FALSE/NO相当于0

答案 2 :(得分:0)

首先,这不是检查switch语句下布尔条件的正确方法,而是必须使用if else来执行此类任务。