我正在使用swift 5.1,并且不知道swift版本是否无法实现。
我在swiftA.swift和SwiftB.swift中创建了类,我想在SwiftA.swift中执行方法。
swiftA.swift:
class MySchoolA : CaculateADelegate {
func executeCaculate(_ MyClass,caculateTheNumber index:Int) -> Int {
return 80
}
}
并迅速
protocol CaculateADelegate: AnyObject {
func executeCaculate(_ MyClass,caculateTheNumber index:Int) -> Int
}
class MyClassB {
weak var delegate:CaculateADelegate?
init(){
let num = delegate?.executeCaculate(self,0)
}
}
变量num始终为nil,哪里出错了?
谢谢。
最佳答案
您没有在swiftA.swift中引用委托给self。
在swiftA.swift类中,您当时拥有swift类的实例
swiftB.delegate =自我
并在swiftA类中实现协议
关于ios - 无法通过委托(delegate)执行另一个类的方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59264697/