我想知道我是否可以在init()
之后或deinit()
之前收到回电。
我的代码中有这种重复模式。首先运行init()
。下一个fire()
函数运行。
class ParentViewController: UIViewController {
@IBAction func redButtonAction(sender: AnyObject) {
PickedColorEvent(color: UIColor.redColor(), name: "RED").fire()
}
@IBAction func greenButtonAction(sender: AnyObject) {
PickedColorEvent(color: UIColor.greenColor(), name: "GREEN").fire()
}
@IBAction func blueButtonAction(sender: AnyObject) {
PickedColorEvent(color: UIColor.blueColor(), name: "BLUE").fire()
}
@IBAction func resetButtonAction(sender: AnyObject) {
ResetEvent().fire()
}
}
所需代码,无需调用fire()
函数。我想在创建后 autofire 。我的代码总是在主线程上运行,所以我想我可以使用一次性计时器。但是我正在寻找没有计时器的解决方案。
class ParentViewController: UIViewController {
@IBAction func redButtonAction(sender: AnyObject) {
PickedColorEvent(color: UIColor.redColor(), name: "RED")
}
@IBAction func greenButtonAction(sender: AnyObject) {
PickedColorEvent(color: UIColor.greenColor(), name: "GREEN")
}
@IBAction func blueButtonAction(sender: AnyObject) {
PickedColorEvent(color: UIColor.blueColor(), name: "BLUE")
}
@IBAction func resetButtonAction(sender: AnyObject) {
ResetEvent()
}
}
是否可以摆脱fire()
功能?
事件类继承自协议。我可以将协议更改为类或结构,并在基类中调用fire()
。然而,我决定子类可以是struct还是class。
在不使用结果的情况下调用ResetEvent()
时,我会得到Result of initializer is unused
。我希望有一个保留关键字来抑制该警告。