0

私はIOSアプリケーション開発とswiftの初心者です.UIAlertController.UIAlertActionは3つの引数を要求します.3つ目はクロージャーです.定義済みの関数をこのパラメーターに渡したい場合はどうすればよいですか?これが私のコードです.これらのコードの前に func ask() を書きました.その関数もエラーから解放されています.しかし、次のコードは、UIAlertAction.I を宣言する際に「Type of expression is ambiguous without more context」というエラーを示しています. toturial https://www.hackingwithswift.com/read/2/5/from-outlets-to-actions-ibaction-and-string-interpolation .

let a:UIAlertController = UIAlertController(title: title, message: "Your score is \(scores)", preferredStyle: .Alert)
        let b:UIAlertAction=UIAlertAction(title: "ok", style: .Default, handler:ask)
        a.addAction(b)
        presentViewController(a, animated: true, completion: nil)
4

2 に答える 2

0

チャールズが推奨したように、ask関数を提供するのが最善ですが、ほとんどの場合、その引数を変更する必要があります。

func ask(action: UIAlertAction!) {
...
}

また、 funcの前の方で関数nilを呼び出すときにも引数を指定します。askviewDidLoad

ask(nil)

チュートリアルの作成者は、「コードが完了する前に」で始まる段落で、これについてもう少し詳しく説明しています。

于 2015-10-03T18:04:33.870 に答える