全部,
我已经设置了一个协议,视图控制器是该协议的委托,如下所示:
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并使原始的不可访问?如果是这样,我该怎么做?
答案 0 :(得分:0)
如果您要在localTrigger
课程中创建ViewController
对象,则可以这样做:
let localtrigger = Trigger()
localtrigger.delegate = self // self is an instance of ViewController
localtrigger.EnablePayButton()