ProtocolClass2.swift
//定义协议
@objc protocol ProClassDelegate {
//代理函数
func test2() //必需实现
@objc optional func test(name:String,type:Int) //可选
}
class ProtocolClass2: NSObject {
//声明类的代理属性变量名
var delegate:ProClassDelegate?
func backDelegate() {
//代理回调
delegate?.test2()
delegate?.test?(name: "back", type: 0)
}
}
ViewController.swift
import UIKit
class ViewController: UIViewController,ProClassDelegate { //遵循代理
override func viewDidLoad() {
super.viewDidLoad()
var proClass:ProtocolClass2? = ProtocolClass2()
proClass?.delegate = self
proClass?.backDelegate()
}
func test2() {
print("无参数代理回调")
}
func test(name: String, type: Int) {
print("有