In the first version of iOS, the synchronous mode of HTTP is used in many places, causing the thread to block and develop a simple afhttpclient asynchronous callback mode.
Callback's protocol:
@protocol Myafnetworkingresponse <nsobject>
@required
-(voidnsstring*" ret Type: (nsstring*" strtype returndata: (nsobject*) retdata;
@end
Afhttpclient implementation classes for asynchronous communication:
@interface myafnetworkingclient: afhttpclient
@property nsurl* mserverurl;//http service address
@property ID<myafnetworkingresponse> delegate;//This is the most important, callback agent
class initialization function
-(ID) init;
-(ID) Initwithbaseurl: (nsurl *) URL;
/* Then a bunch of implemented functions */
.....
@end
Then in Viewcontroller:
@interface mainviewcontroller () < Myafnetworkingresponse>
@end
@implementation Mainviewcontroller
-(void) viewdidload {
[Super viewdidload];
Initialization
self.mafnetworkinghttpclient = [[myafnetworkingclient alloc] init";
self. Mafnetworkinghttpclient. Delegate = self;
}
-(void) Myhttpresponse: (nsstring*) ret Type: (nsstring*) strtype returndata: (nsobject *) retinfo{
__weak Mainviewcontroller* wself = self
if ([ Strtype isequaltostring:@" xxxx " ) {
//a specific HTTP type, implementation processing
} else < Span class= "S1" style= "margin:0px; padding:0px ">ifisequaltostring:@" xxxx "]) {
Implementation processing of a specific HTTP type
}
}
@end
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
Asynchronous callback pattern for Afhttpclient