Swift 中的代理

來源:互聯網
上載者:User

標籤:

需求代理 的類

1.定義一個協議,一般以類名加delegate

// 代理 全部都是必須實現

protocol VisitorLoginViewDelegate: NSObjectProtocol {

    func visitorRegisterButtonClicked()

    func visitorLoginButtonClicked()

}

 

// 可以設定 optional  可選 必須 用@objc 聲明

@objc protocol VisitorLoginViewDelegate: NSObjectProtocol {

    

    func visitorRegisterButtonClicked()

    func visitorLoginButtonClicked()

    optional func jjj ()

}

 

2.為類添加代理屬性 

weak var myDelegate : VisitorLoginViewDelegate?

 

3.在需要使用代理的位置調用代理方法

func registerClick(){

        print("registerClick")

        myDelegate?.visitorRegisterButtonClicked()

    }

 

 

作為一個代理對象

1.想要成為一個對象的代理,必須遵守代理的協議 。

class BaseTableViewController: UITableViewController , VisitorLoginViewDelegate {

}

 

2.設定自己為某個對象的代理

visitotView?.myDelegate = self

 

3.實現代理方法 如果必須實現的方法沒有實現  會報錯

Swift 中的代理

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.