2016-12-26 80 views
0

我嘗試在@IBAction func中運行獨立的多個if語句。但是我想先完成第一條if語句(我放了一個alert塊來暫停進程),然後運行第二條if語句,然後運行其餘腳本。我的代碼是這樣的:在完成之前運行以下腳本如果語句

@IBAction func onDone(_ sender: Any) { 
    if var1.count > 0 { 
    let block: DTAlertViewButtonClickedBlock = {(alertView, buttonIndex, cancelButtonIndex) in 
    //Do somethings 
    } 
    DTAlertView(block: block, title: "Do somethings?", cancelButtonTitle: "Cancel", positiveButtonTitle: "Let's do it!").show() 
    } 
    if var2.count > 0 { 
    //Do another things 
    } 
    _ = navigationController?.popViewController(animated: true) 
} 

但Xcode中似乎第一次運行if語句和第二if語句在popViewController在同一時間沒有等我說完警報塊。

任何一個人都面臨同樣的問題?我應該在代碼中放置什麼,或者我的代碼有什麼不正確的?

回答

0

您需要將第二個if移動到alter button處理程序中。

@IBAction func onDone(_ sender: Any) { 
    if var1.count > 0 { 
     let block: DTAlertViewButtonClickedBlock = {(alertView, buttonIndex, cancelButtonIndex) in 
      //Do something 
      if var2.count > 0 { 
       //Do another things 
      } 
      _ = navigationController?.popViewController(animated: true) 
     } 
     DTAlertView(block: block, title: "Do somethings?", cancelButtonTitle: "Cancel", positiveButtonTitle: "Let's do it!").show() 
    } 
} 
+0

的var2.count獨立於var1.count。那麼,我是否需要將var1.count和var1.count都放在裏面? –

+0

是的,你需要重複var2如果檢查。 – rmaddy

相關問題