

今、表示したボタンを押したらdelegateパターンを使いGameSceneクラスのtouchUpButton()が呼び出されるようにしたいのですがその通りに動きません。  
デリゲートのあたりは間違えていないと思い、多分upButton.addtargetの部分が  
間違えている気がするのですが、修正方法がわかりません。

修正方法を教えて欲しいです。  
よろしくお願いします。

[code]

    import UIKit
    import SpriteKit
    
    protocol touchButtonDelegate{
        func touchUpButton()
    }
    
    class Button: NSObject {
    
        var delegate:touchButtonDelegate?
    
        func createUpButton() -> UIButton{
            let upButton = UIButton(type: UIButtonType.Custom)
            upButton.setImage(UIImage(named: "UPButton"), forState: UIControlState.Normal)
            upButton.frame = CGRectMake(60, 200, 70, 70)
            upButton.addTarget(self, action: #selector(Button.pushUpButton), forControlEvents: .TouchUpInside)
            return upButton
        }
    
        func pushUpButton(){
            delegate?.touchUpButton()
        }
    }
    
    import SpriteKit
    import UIKit
    
    class GameScene: SKScene,touchButtonDelegate{
    
        override func didMoveToView(view: SKView) {
            /* Setup your scene here */
            createButton()
        }
        func createButton(){
            let button = Button()
            button.delegate = self
            let upButton = button.createUpButton()
    
            self.view?.addSubview(upButton)
        }
        func touchUpButton() {
           print("文字表示しました")
        }
    
    
    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
       /* Called when a touch begins */
    
    
    }
    
    override func update(currentTime: CFTimeInterval) {
        /* Called before each frame is rendered */
    }
    
[/code]

}


CC BY-SA 3.0
2017-03-23T15:42:38.187
33495
2017-03-23T15:42:38.187
18539
question
swift delegate
swift ボタンを押した時、delegate通知させるはずがボタンが反応しない