相关疑难解决方法(0)

你能在Swift中创建匿名内部类吗?

我已经厌倦了宣布整个课程能够UIAlertView通过延长来处理点击UIAlertViewDelegate.当我有多个可能的UIAlertViews时,它开始感到凌乱和错误,并且必须区分在处理程序中单击的内容.

我真正想要的是创建一个实现UIAlertViewDelegate协议的单个对象,并UIAlertView在显示它时将这个一次性对象提供给我.

我想要这样的东西:

let confirmDelegate = UIAlertViewDelegate() {
    func alertView(alertView: UIAlertView!, clickedButtonAtIndex buttonIndex: Int) {
        // Handle the click for my alertView
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在显示警报时使用它:

let alertView = UIAlertView(title: "Confirm", message: "Are you sure?", delegate: confirmDelegate, cancelButtonTitle: "No", otherButtonTitles: "Yes")
alertView.show()
Run Code Online (Sandbox Code Playgroud)

如果没有宣布新课程,这可能吗?

我知道我可以这样做:

class ConfirmDelegate: UIAlertViewDelegate {
    func alertView(alertView: UIAlertView!, clickedButtonAtIndex buttonIndex: Int) {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

然后实例化一个ConfirmDelegate(),但我只是想知道这是否可能作为单线类声明和实例化.

anonymous-inner-class uialertview ios uialertviewdelegate swift

10
推荐指数
1
解决办法
4563
查看次数