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?
}
网友评论