委托快速删除View Controller对象

时间:2015-06-06 11:27:20

标签: ios swift

全部,

我已经设置了一个协议,视图控制器是该协议的委托,如下所示:

import Foundation

protocol PayButtonProtocol {
    func enablePayButton()
    func disablePayButton()
}

视图控制器是委托:

class ViewController:   UIViewController, PayButtonProtocol

协议功能如下:

func enablePayButton() {
        println("Button enabled")
        PAYBarButton.enabled = false
    }

    func disablePayButton() {
        PAYBarButton.enabled = false
    }

我设置了一个类并分配了委托:

class Trigger
{
    var delegate:PayButtonProtocol?

    func EnablePayButton()
    {
        delegate?.enablePayButton()
    }
}

然后我设置触发器来运行该功能:

let localtrigger = Trigger()
        localtrigger.delegate = ViewController()
        localtrigger.EnablePayButton()

这样可以在控制台中显示“启用按钮”。但是Bar Button(PAYBarButton)是零,看起来视图控制器已经失去了它的hieracy,因为我无法访问任何视图控制器对象。 View Controller是使用界面构建器构建的。有人有任何想法吗?是吗

localtrigger.delegate = ViewController()

重建viewconotroller并使原始的不可访问?如果是这样,我该怎么做?

1 个答案:

答案 0 :(得分:0)

如果您要在localTrigger课程中创建ViewController对象,则可以这样做:

let localtrigger = Trigger()
localtrigger.delegate = self // self is an instance of ViewController
localtrigger.EnablePayButton()