Swift - 委托(delegate)5秒看懂


//定义一个协议
protocol LogManagerDelegate {
    func writeLog()
}
 
//用户登录类
class UserController {
    var delegate : LogManagerDelegate?
     
    func login() {
        //查看是否有委托,然后调用它
        delegate?.writeLog()
    }
}
 
//日志管理类
class SqliteLogManager : LogManagerDelegate {
    func writeLog() {
        print("将日志记录到sqlite数据库中")
    }
}
 
 
//使用
let userController = UserController()
userController.login()  //不做任何事
 
let sqliteLogManager = SqliteLogManager()
userController.delegate = sqliteLogManager
userController.login()  //输出“将日志记录到sqlite数据库中”

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM