swift 代理

swift中如果代理用weak修饰,因为
weak引用是可选的(optional),所以必须使用var修饰词,这样在释放时可以置为nil;

7.协议protocol既可以用在类中也可以用在非类类型中(比如struct,enums),当在类中使用,需要标记协议类型是class或者NSObjectProtocol

protocol MyClassDelegate: class {
    // ...
}

class SomeClass {
    weak var delegate: MyClassDelegate?
}
protocol MyClassDelegate2: NSObjectProtocol {
    // ...
}

class SomeClass2 {
    weak var delegate: MyClassDelegate?
}

你可能感兴趣的:(swift 代理)