ios Swift 协议
protocol xxx:class {}
protocol xxx{}
@objc protocol
三种方式,
1 完全swift 类型的协议, 继承class (或者 NSObjectProtocol)的类特性, 可以weak ,这个很重要不然容易循环引用,内存释放不掉
2 第二个正常的, 通用的,纯净的,但是因为weak 问题,所以我一般用第一种 用得多
3 第三个 对OC 开放, 也就有了OC 的特性, 也就可以weak 了,
swift 协议的可选协议
1 @objc 方式创建, 然后加个可选的参数
@objc protocol BottomBtnViewDelegate{
@objc optional func bottomBtnViewClick(_ index:Int)
}
2 swift 方式创建
protocol xx:class{
func test()
}
extension xx{
func test(){
}
func test2(){
// 默认的实现方式, 然后重写这个就ok
}
}
// 哈哈 我自己还没这么写过,应该可以
文章评论