在Objective-C中,可以将类设置为委托(不是类的实例,而是纯类)。在Swift中有可能吗?
答案 0 :(得分:5)
是的
将delegate
变量声明为类类型,而不是实例类型
我也使它成为可选项,但我们也可以将它设置为非可选项并在init方法中传递它。
var delegate : Int.Type?
代码示例
class A {
static func sayHello() {
println("Hello")
}
}
class B {
var num = 10
var delegate : A.Type?
func hi() {
delegate?.sayHello()
}
}
var b = B()
b.delegate = A.self
b.hi()