일부 서버 쿼리 블록이 작업을 종료 할 때까지 대기 할 수 있습니까? 내 unworking 코드는 아래 있습니다.대기 블록을 완료 할 수 있습니까?
+ (BOOL) loginQueryFromServer:(NSDictionary *)parameters{
__block BOOL loginQueryResult = NO;
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
AFHTTPRequestOperation *operation = [manager POST:@"http://domainname/login/" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Response1: %@",responseObject);
loginQueryResult = YES;
NSLog(@"Response2: %@", loginQueryResult ? @"YES" : @"NO");
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
loginQueryResult = NO;
}];
[operation start];
[operation waitUntilFinished];
NSLog(@"Response3: %@", loginQueryResult ? @"YES" : @"NO");
return loginQueryResult;
}
결과 : (당신이 볼 수 있듯이, Response3 먼저 로그) 당신은 타사에게 AFNetworking
라이브러리를 사용하고
2014-04-09 21:11:17.072 aaa[1010:70b] Response3: NO
2014-04-09 21:11:17.073 aaa[1010:70b] Response1: {
reply = "Login successful!";
}
2014-04-09 21:11:17.081 aaa[1010:70b] Response2: YES
이 응답을 살펴 보자 http://stackoverflow.com/questions/20476957/afnetworking-2-waituntilfinished-not-working –
를 당신에게 마티아스 감사 ,하지만 나는 이미 그걸 시도했다. 나는 에드윈스의 답변 인 해결책을 찾는다. – AykutE