0
ASIHTTPRequestを使用して残りのapi用の建物APIを作成する。追加パラメータをASIHTTPRequestに渡す方法didFinishSelectorセレクタ
すべてのリクエストを独自のメソッドにラップします。
- (void) foo:(id)caller
andSuccessCallback:(SEL)successCallback
andFailureCallback:(SEL)failureCallback {
_currentCaller=caller;
_currentSuccessCallback=successCallback;
_currentFailureCallback=failureCallback;
NSString *urlString = @"http://localhost/foo";
NSURL *url= [NSURL URLWithString: urlString];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDelegate:self];
[request setDidFinishSelector:@selector(fooSuccess:)];
[request startAsynchronous];
}
- (void) fooSuccess:(ASIHTTPRequest *)request {
if (statusCode >=400) {
if ([_currentCaller respondsToSelector:_currentFailureCallback])
[_currentCaller performSelector:_currentFailureCallback withObject:statusCode withObject:message];
} else {
if ([_currentCaller respondsToSelector:_currentSuccessCallback])
[_currentCaller performSelector:_currentSuccessCallback];
}
[request release];
}
現在、私はクラスのプライベート変数_currentCaller _currentSuccessCallback _currentFailureCallback = failureCallback
iが直接fooSuccessコールバックに渡すことができます使用するコールバックセレクタを渡す方法は?