2011-09-02 3 views
0

보기 컨트롤러에서 다른 finishSelectors있는 다른 ASIFormDataRequests 가진 여러 메서드가 있습니다. 그래서 methodA -> finishselector (AFinished :), methodB -> finishselector (BFinished :) 및 methodC -> finishselector (CFinished :ASINetworkQueue가 여러 requestDidFinishSelectors를 지원합니까?

를 아래 그림과 같이 내가 모든 요청을 처리하는 한 방법이 있습니다

-(void)sendRequest:(NSURL *)url withParams:(NSDictionary *)params andSelector:(NSString *)selector 
{ 
NSString *jsonString = [params yajl_JSONString]; 
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
[request setPostValue:jsonString forKey:@"json"]; 
[request setTimeOutSeconds:15]; 
[[self networkQueue] setDelegate:self]; 
[[self networkQueue] setRequestDidFinishSelector:NSSelectorFromString(selector)]; 
[[self networkQueue] setRequestDidFailSelector:@selector(asiRequestFailed:)]; 
[[self networkQueue] addOperation:request]; 
[[self networkQueue] go]; 
} 

메소드 A-> B-> C 및 B에 대한 요청을 A보다 먼저 완료하면 BFinished : 메소드 B에 해당하는 데이터로 두 번 호출 한 다음 메소드 A에 해당하는 데이터로 두 번 호출된다는 사실을 확인했습니다. ASINetworkQueue 만 수행합니까? 한 번에 하나씩 finishSelector를 처리합니까? 각 메서드마다 네트워크 큐를 분리해야합니까?

답변

관련 문제