Swift中的自定义委托方法

时间:2015-07-20 09:26:59

标签: ios swift

我正在开发一个应用程序,我需要有一个按钮的委托方法来识别用户按下哪个按钮。下面是代码,请让我知道我在哪里犯错误.Delegate不工作,那里没有错误,没有崩溃。

import UIKit
@objc protocol SAlertViewDelegate {

optional func clickedButtonTitle(title:String)
}

class CustomAlertView: UIView {

var delegate:SAlertViewDelegate?
 func button1Action(sender: UIButton?) {

    let titleLabel=sender?.titleLabel?.text
    self.delegate?.clickedButtonTitle!(titleLabel!)
    removeFromMainView()
}

}

查看控制器: -

import UIKit

class CurrentImageVC: UIViewController,SAlertViewDelegate
{
var alert:CustomAlertView=CustomAlertView()
override func viewDidLoad() {
    super.viewDidLoad()

    alert.delegate=self

    }

//MARK: Custom Delegate
func clickedButtonTitle(title:String)
{
    println(title)
}

}

1 个答案:

答案 0 :(得分:1)

问题是你需要将委托分配给你用来添加子视图的对象。

let alertSubView: CustomAlertView = CustomAlertView()
alertSubView.frame=CGRectMake(0,0,1024,768)
alertSubView.delegate=self
self.view.addSubview(alertSubView)