iOS:理解委託者(Delegate)模式

Delegate釋義:ios

vt. 委派…爲表明
n. 表明

委託者委託被委託者作某事。post

A委託朋友B1買書 -> 這裏A和B1都有買書這個方法。A是委託者,B1是被委託者。A委託B1買書。其實就是A將B1設置爲本身的表明. 其實就是對象A在執行某個某個方法時去執行對象B1中的對應方法。code

僞代碼:對象

interface PersonDelegate {
    void buy();
}

Class PersonA {
    PersonDelegate delegate;
    void buy() {
        delegate.buy();
    }
}

Class PersonB implements PersonDelegate{
    void buy() {
        // 買書
    }
}

// main

PersonA  A= new PersonA();
PersonB B1 = new PersonB();
PersonB B2 = new PersonB();

// 委託B1買書
A.delegate = B1;
A.buy();

// 委託B2買書
A.delegate = B2;
A.buy();

http://www.jianshu.com/p/2113ffe54b30 講得不錯,不過給的代碼有瑕疵。get

http://stackoverflow.com/questions/15749486/sending-an-http-post-request-on-ios 這裏接受的答案也用到了delegate模式。io

相關文章
相關標籤/搜索