그래오늘은이거야

Object C AFNetworking Async - Sync 모드로 변경할때 본문

세상 개발/IOS(Objective-c)

Object C AFNetworking Async - Sync 모드로 변경할때

jinhongstar 2018. 2. 13. 11:42
728x90
반응형


모든 자료는 나중에 제가 사용할대 사전처럼 찾아 보려고 작성하는 자료입니다.




데이터 통신 할때 NSOperation Class  를 사용하면서 Upload를 할때 


문제가발생되는데 AFNetwork + NSOperation 구조가 Async 구조로 되어있습니다.


Sync 연동하려면 아래오 같이  semaphore 를 이용하여 wait 구문을 작성하면 sync가 맞혀집니다.




NSParameterAssert(_requestManager); // prevent infinite loop


dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);

[_requestManager GET:@"resource" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {

    // other stuff

      dispatch_semaphore_signal(semaphore);

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

    // other stuff

     dispatch_semaphore_signal(semaphore);

}];

dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);




출처 : https://github.com/AFNetworking/AFNetworking/issues/1804


역시 GOG !! (God Of Google)  github + stackoverFlow! 



반응형
Comments