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