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


ボタンの生成時にエラーが２つでました。

[code]

    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
    }
    
[/code]

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




Swift4では

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

* * *
[code]

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

は

[code]

    button.addTarget(self, action: #selector(onClick(_:)), for: UIControlEvents.touchUpInside)
    
[/code]

となります。

* * *

`onClick`は自分で定義する必要があるので、

[code]

    @objc func onClick(_ sender: UIButton) {
        // 自分で実装
    }
    
[/code]

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




Swift4では

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

* * *
[code]

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

は

[code]

    button.addTarget(self, action: #selector(onClick(_:)), for: UIControlEvents.touchUpInside)
    
[/code]

となります。

* * *

`onClick`は自分で定義する必要があるので、

[code]

    @objc func onClick(_ sender: UIButton) {
        // 自分で実装
    }
    
[/code]

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

