0
ASIHTTPRequest를 사용하여 나머지 api에 건물 API 추가.ASIHTTPRequest에 추가 매개 변수를 전달하는 방법 didFinishSelector 선택자
Api는 모든 요청을 자체 메소드로 래핑합니다.
- (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];
}
현재 내가 클래스 private 변수 _currentCaller _currentSuccessCallback _currentFailureCallback = failureCallback
내가 직접 fooSuccess 콜백에 전달할 수 사용하는 콜백 선택기를 전달하는 방법?