49848


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

[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]

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


CC BY-SA 4.0
2018-11-01T06:25:51.010
49846
2018-11-01T07:32:20.177
2018-11-01T06:29:50.320
29826
30790
question
swift swift4
エラーの意味がわかりません、どなたか解決方法を教えてください。


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'` のエラーが消えます。


CC BY-SA 4.0
2018-11-01T07:32:20.177
49848
2018-11-01T07:32:20.177
9008
49846
answer