대리인이 작업하는 데 필요한 모든 코드를 완료했습니다. 내의 ViewController에서 : class ViewController: UIViewControllerCustomViewDelegate
내가이 있습니다신속 대리인이 호출되지 않습니다
override func viewDidLoad() {
super.viewDidLoad()
let myCustomView = Bundle.main.loadNibNamed("ImageHeaderView", owner: self, options: nil)?[0] as! ImageHeaderView
myCustomView.delegate = self
}
func goToNextScene() {
print("GOTOSCENE2")
}
을 그리고 내 사용자 정의보기에 내가 가진이 :
있습니다import UIKit
protocol CustomViewDelegate: class { // make this class protocol so you can create `weak` reference
func goToNextScene()
}
@available(iOS 10.0, *)
class ImageHeaderView : UIView {
@IBOutlet weak var followme: UISwitch!
@IBOutlet weak var profileImage : UIImageView!
@IBOutlet weak var backgroundImage : UIImageView!
weak var delegate: CustomViewDelegate?
override func awakeFromNib() {
super.awakeFromNib()
self.backgroundColor = UIColor(hex: "E0E0E0")
self.profileImage.layer.cornerRadius = self.profileImage.frame.size.height/2
self.profileImage.clipsToBounds = true
self.profileImage.layer.borderWidth = 1
self.profileImage.layer.borderColor = UIColor.white.cgColor
//self.profileImage.setRandomDownloadImage(80, height: 80)
//self.backgroundImage.setRandomDownloadImage(Int(self.frame.size.width), height: 100)
}
@IBAction func followme(_ sender: AnyObject) {
UserDefaults.standard.set(followme.isOn, forKey: "followme")
}
@IBAction func logout(_ sender: AnyObject) {
delegate?.goToNextScene()
print("GOTOSCENE")
}
}
발생 오류가 없다하지만 난 클릭 할 때/버튼을 누릅니다 아무 반응이 없습니다. 그냥 "GOTOSCENE"을 인쇄합니다. 내가 어떤 느낌
약하게 제거해도 문제가 해결되지 않습니다. weak은 할당 취소 후 대리인이 액세스되지 못하도록 만 보호합니다 (대리자가 해제 된 경우 대리자가 nil이 됨). – giorashc
myCustomView가 뷰에 추가되지 않았습니까? 어쩌면 하나 이상의 인스턴스가있을 수 있습니까? – tonik12
클래스와 약함을 삭제했습니다. 그래도 작동이 안되는. –