将委托设置为类类型而不是Swift中的实例

时间:2015-07-05 07:02:39

标签: ios objective-c swift

在Objective-C中,可以将类设置为委托(不是类的实例,而是纯类)。在Swift中有可能吗?

1 个答案:

答案 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()