欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
簡(jiǎn)單介紹ios Delegate的使用

簡(jiǎn)單介紹ios Delegate的使用

  好久沒(méi)寫(xiě)blog了~ 今天有同學(xué)問(wèn)delegate的使用,順便寫(xiě)點(diǎn)東西。

      ios 的 delegate經(jīng)常出現在 model 與 controller之間的通信。delegate中文叫做委托,就是委托別人幫你完成的意思。比如 我寫(xiě)了個(gè)interface,服務(wù)器返給我我要的數據,同時(shí)告訴我success,那么我在controller怎么接收到這個(gè)interface的信息呢。 我的實(shí)現是這樣子的:在interface中寫(xiě)一個(gè)delegate,(這個(gè)delegate 可以直接繼承自 Objective - C protocol,也可以直接寫(xiě)在其他的類(lèi)里面),讓返回成功和失敗時(shí)執行 delegate的方法,在controller中實(shí)現這些方法。
由于網(wǎng)絡(luò )接口都是公司的網(wǎng)址,不方便。所以簡(jiǎn)單的寫(xiě)個(gè)示意程序:

 

 @protocol BaseInterfaceDelegate <NSObject>

 @required//必須實(shí)現的代理方法

-(void)parseResult:(ASIFormDataRequest *)request;

-(void)requestIsFailed:(NSError *)error;

@optional//不必須實(shí)現的代理方法

@end

@interface BaseInterface : NSObject <DefaultLoginInterfaceDelegate,ASIHTTPRequestDelegate> {

    ASIFormDataRequest *_request;

 }

 @property (nonatomic,assign) id<BaseInterfaceDelegate> baseDelegate; //一般delegate都是assign的防止循環(huán)circular count產(chǎn)生。

-(void)connect;

 @end

 

@implementation BaseInterface

 

@synthesize baseDelegate = _baseDelegate;

-(void)connect {

    寫(xiě)網(wǎng)絡(luò )請求

}

 

#pragma mark - ASIHttpRequestDelegate//網(wǎng)絡(luò )情求的代理ASIHttpRequestDelegate

-(void)requestFinished:(ASIFormDataRequest *)request {

        [_baseDelegate parseResult:request];//用實(shí)例變量delegate執行代理方法 表示一旦返回成功就執行這個(gè)方法,而這個(gè)方法究竟執行什么操作,就需要建立這個(gè)類(lèi)對像的controller去實(shí)現。

}

 

-(void)requestFailed:(ASIFormDataRequest *)request {

        [_baseDelegate requestIsFailed:request.error];//用實(shí)例變量delegate執行代理方法 表示一旦返回失敗就執行這個(gè)方法,而這個(gè)方法究竟執行什么操作,就需要建立這個(gè)類(lèi)對像的controller去實(shí)現。

}

 

@interface MyController:UIViewController <DefaultLoginInterfaceDelegate> {

   BaseInterface *interface;

 }

 

@implementation MyController;

這個(gè)類(lèi)中的其他方法省略,只寫(xiě)delegate方法

//對delegate方法的實(shí)現

-(void)parseResult:(ASIFormDataRequest *)request

{

   對返回的 request做相應的操作,并對界面做相應的操作。

}

 

-(void)requestIsFailed:(NSError *)error

{

  對返回的 error做相應的操作,并對界面做相應的操作。

}

-(void)dealloc

{

self.delegate = nil;//防止delegate在這個(gè)類(lèi)生命周期結束后還在對僵尸進(jìn)行操作。

}

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
iOS 多張圖片上傳demo(用ASIHTTPRequest 框架實(shí)現)
ios協(xié)議、分門(mén)別類(lèi)理解
iOS開(kāi)發(fā)-Protocol協(xié)議及委托代理(Delegate)傳值
c#通過(guò)委托delegate與Dictionary實(shí)現action選擇器代碼舉例
15、點(diǎn)擊加號,彈出控制器。使用代理
go的R方法的使用
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久