[英]Protocal implementation method not calling in Swift
我正在使用Xcode 10.3。 我有不調用哪個方法的協議。 怎么了?
這是我的代碼。
我的第一個帶有protocal ..的視圖控制器
protocol MyProtocol: class { func doGetUpdateInfo(valu1:String,value2:String); } class Class_A : UIViewController{ weak var myprotocolDelegate:MyProtocol? = nil; override func viewDidLoad() { super.viewDidLoad() myprotocolDelegate?.doGetUpdateInfo(account_no:value1, account_title: value2) } }
我的第二個視圖控制器
class Class_B: UIViewController,UpdateBeneficiaryProtocol { var class_a = Class_A() override func viewDidLoad() { super.viewDidLoad() class_a.myprotocolDelegate = self; } func doGetUpdateInfo(value1: String, value2: String) { print("not calling****") } }
有什么問題嗎?
請參見以下示例。 您正在為A創建一個新類,但不會被調用。 您需要提供當前課程的參考
protocol MyProtocol: class {
func doGetUpdateInfo(valu1:String,value2:String);
}
class Class_A : UIViewController{
weak var myprotocolDelegate:MyProtocol? = nil;
override func viewDidLoad() {
super.viewDidLoad()
myprotocolDelegate?.doGetUpdateInfo(account_no:value1, account_title: value2)
}
func navigateToClassB() {
let classb = Class_B()
classb.class_a = self
self.navigationController?.pushViewcontroller(classb, animated:true)
}
}
B類應該是
class Class_B: UIViewController,UpdateBeneficiaryProtocol {
var class_a : Class_A?
override func viewDidLoad() {
super.viewDidLoad()
class_a.myprotocolDelegate = self;
}
func doGetUpdateInfo(value1: String, value2: String) {
print("not calling****")
}
}
按照方法NavigationToClassB中的顯示推送控制器Class_b。 如果您仍然在這里發表評論,我會為您提供幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.