私は.xibを作成し、このxibを別のビューに追加しました。その.xibファイルにデリゲートメソッドを追加したいと思います。ここに私のコードです:nilを表示する迅速なデリゲート
.xibファイル
- しかし、私はそのデリゲートにnil値を取得しています "crossBtnTapped" 方式で
。import UIKit protocol CustomCheckBoxWithCrossDelegate { func deleteCustomCheckbox(itemToDelete: String) } class CustomCheckBoxWithCross: UIView { @IBOutlet weak var radioButton: UIButton! @IBOutlet weak var checkboxLbl: UILabel! @IBOutlet weak var checkboxCrossBtn: UIButton! var blockIndexForTheCrossButton: Int = 0 var delegate: CustomCheckBoxWithCrossDelegate! override init(frame: CGRect) { super.init(frame: frame) loadViewFromNib() } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) loadViewFromNib() } func loadViewFromNib() { let bundle = NSBundle(forClass: self.dynamicType) let nib = UINib(nibName: "CustomCheckBoxWithCross", bundle: bundle) let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView view.frame = bounds view.autoresizingMask = [.FlexibleWidth, .FlexibleHeight] self.addSubview(view); } @IBAction func crossBtnTapped(sender: AnyObject) { print("Delegate --> \(delegate)") delegate!.deleteCustomCheckbox("hello") } }
誰でも私が間違っていることを教えていただけますか?
どこCustomCheckBoxWithCrossDelegateを実装したのですか? – Sahil
他のビューでは、この.xibファイルを追加しています。 –
他のビューコードを表示できますか? – Sahil