我厌倦了将整个类声明为能够UIAlertView
通过使它们扩展来处理点击UIAlertViewDelegate
。当我有多个可能的 s 时,它开始感到混乱和错误UIAlertView
,并且必须区分在处理程序中单击了哪个。
我真正想要的是创建一个实现UIAlertViewDelegate
协议的对象,并在显示时将这个一次性对象提供给我UIAlertView
。
我想要这样的东西:
let confirmDelegate = UIAlertViewDelegate() {
func alertView(alertView: UIAlertView!, clickedButtonAtIndex buttonIndex: Int) {
// Handle the click for my alertView
}
}
然后在显示警报时使用它:
let alertView = UIAlertView(title: "Confirm", message: "Are you sure?", delegate: confirmDelegate, cancelButtonTitle: "No", otherButtonTitles: "Yes")
alertView.show()
在不声明新类的情况下这可能吗?
我知道我可以这样做:
class ConfirmDelegate: UIAlertViewDelegate {
func alertView(alertView: UIAlertView!, clickedButtonAtIndex buttonIndex: Int) {
// ...
}
}
然后实例化 a ConfirmDelegate()
,但我只是想知道这是否可以作为单行类声明和实例化。