2017-07-07 66 views
-3
@IBAction func addtoCart(_ sender: Any) { 
    if UserDataSingleton.sharedDataContainer.is_guest == "guest" { 
     //segue, user is a guest 
    } 

    if sizebtn.isHidden == false { 
     if Size.selectedItem == nil { 
      // show alert , nothing is selected from items 
     } 
    } else { 
     // do API call 
    } 
} 

上面的代码在用户不是来宾并从项目中选择了某些内容时会跳过api调用。我如何检查:多个if语句在Swift中

  1. 用户不是访客
  2. 如果UIButton的不隐藏,并且用户已经从项目

回答

0

选择它看起来像你的if语句不捆绑的权利。试试这个

@IBAction func addtoCart(_ sender: Any) { 

    if UserDataSingleton.sharedDataContainer.is_guest == "guest" { 

     //segue, user is a guest 
    } 

    if sizebtn.isHidden == false { 
     if Size.selectedItem == nil { 
      // show alert , nothing is selected from items 
     } else { 
      // do API call 
     } 
    } 
} 
1

您可以使用“& &”逻辑运算做第二份声明

@IBAction func addtoCart(_ sender: Any) { 

    if UserDataSingleton.sharedDataContainer.is_guest == "guest" { 
     //segue, user is a guest 
     return 
    } 


    if (sizebtn.isHidden == false) && (Size.selectedItem != nil) { 
     // do API call , SOMETHING is selected from items 
    } else { 
     //show alert nothing is selected 
    } 
} 
0
@IBAction func addtoCart(_ sender: Any) { 

    if UserDataSingleton.sharedDataContainer.is_guest == "guest" { 
     //segue, user is a guest 
     return 
    } 

    if sizebtn.isHidden == false && Size.selectedItem == nil { 
     // show alert , nothing is selected from items 
     return 
    } 

    // do API call 
} 

使用return时,不想再执行代码。

1

您可以使用guard语句来完成验证:

@IBAction func addtoCart(_ sender: Any) { 
    guard UserDataSingleton.sharedDataContainer.is_guest != "guest" else { 
     //segue, user is a guest 
     return 
    } 

    guard sizebtn.isHidden && Size.selectedItem == nil else { 
     // show alert , nothing is selected from items 
     return 
    } 

    // do API call 
} 
+0

总是塞格斯即使is_guest = “客人”! – leo0019