2016-04-04 23 views
-1
@IBAction func createAlert(sender: AnyObject) { 

    if #available(iOS 8.0, *) { 
     let alert = UIAlertController(title: "Hey there!", message: "Are you sure?", preferredStyle: UIAlertControllerStyle.Alert) 
    } else { 

     if let alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: { (action) -> Void in 

     self.dismissViewControllerAnimated(true, completion: nil) 

     })) 
    } 


     self.presentViewController(alert, animated: true, completion: nil) 

    } 

エラーメッセージが表示され続けます。 1)予期した '{' after 'if'条件 2)条件内の変数バインディングにはイニシャライザが必要です。 助けてください!!!!UIAlertControllerを作成中にエラーが発生しました

+1

Xcodeを更新してください。あなたは '#利用可能な(iOS 8.0、*) 'を認識しません。 – Moritz

+0

'もしlet alert ...'の後ろにブロックがありません。もし必要ならば? –

+0

あなたのif let alert.addAction(...には '{'がありません – pkacprzak

答えて

2

構文エラーがかなりあります。 if-letalert.addActionをラップする必要はありません。また、ifelseのステートメントがあなたのやりたいことと一致していることを確認してください。私はあなたが達成しようとしていたものかどうかはわかりませんが、現在のデバイスがiOS 8以上を実行している場合はUIAlertController、iOS 7以降を実行するデバイスの場合はUIAlertControllerを表示すると推測しました。

class VC : UIViewController { 
    @IBAction func createAlert(sender: AnyObject) { 

     if #available(iOS 8.0, *) { 
      let alert = UIAlertController(title: "Hey there!", message: "Are you sure?", preferredStyle: UIAlertControllerStyle.Alert) 
      alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: nil)) 

      self.presentViewController(alert, animated: true, completion: nil) 
     } else { 
      // handle iOS 7 case 
      // set up a UIAlertView, etc 
     } 
    } 
} 
+0

実際には警告コントローラを使用してdismissViewControllerを呼び出す必要はありませんが、後ろのクロージャを使用している場合は、このコードも少し近代的に見えます。 – crashoverride777

+0

これは、私はコースをオンラインにしていると彼のコードは私のバージョンのために、私の推測の仕事をdidnt –

関連する問題