Q:

エラーの意味がわかりません、どなたか解決方法を教えてください。

ボタンの生成時にエラーが２つでました。
func makeButton(frame: CGRect, text: String, tag: Int) -> UIButton {
    let button = UIButton(type: UIButton.ButtonType.system)
    button.frame = frame
    button.setTitle(text, for: UIControl.State.Normal) 
    //エラー文→【●’Normal' is unavailable: use [] to construct an empty option set 】　       
    button.tag = tag
    button.addTarget(self, action: #selector(onClick(_:)), 
    //エラー文→【 ●Use of unresolved identifier 'onClick'】
        forControlEvents: UIControlEvents.TouchUpInside)
    return button
}

以上の様なエラーが出てしまいます。ザックリな質問ですみません。よろしくお願いします。

A:

Swift4では
button.setTitle(text, for: UIControl.State.Normal)
は
button.setTitle(text, for: UIControl.State.normal)
になります。

button.addTarget(self, action: #selector(onClick(_:)), 
        forControlEvents: UIControlEvents.TouchUpInside)

は
button.addTarget(self, action: #selector(onClick(_:)), for: UIControlEvents.touchUpInside)

となります。

onClickは自分で定義する必要があるので、
@objc func onClick(_ sender: UIButton) {
    // 自分で実装
}

を足すと Use of unresolved identifier 'onClick' のエラーが消えます。

