2012-04-21 4 views
0

나는 내가 IOS iPad 용 3.2을 사용하고 질문이 발생 .. 그것은 아이폰 4.1에서 작동하지만, 아이 패드에서 작동하지 않는 그 여기ios3.2 몇 가지 문제에 멀티 스레딩을 수행하는 방법에

3.2 내 코드 IOS :

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul); 
    dispatch_async(queue, ^{ 
     dispatch_sync(dispatch_get_main_queue(), ^{ 
      [self myPrivateFunction]; 
     }); 
    }); 

내가 그 그것을 무엇을 할 수 있는지 알려주세요 ..

답변

0

GCD 및 블록은 아이폰 OS 3.2에서 사용할 수 없습니다. 간단한 멀티 스레딩의 경우 performSelectorInBackground:withObject:performSelectorOnMainThread:withObject:waitUntilDone:을 대신 사용할 수 있습니다.

0

iOS 4.0 이전에는 그랜드 센트럴 디스패치를 ​​사용할 수 없습니다. 비동기 작업을 위해 NSInvocationOperation을 사용할 수 있습니다.

1

글쎄 시간을 들여서 문서를 들여다 보면 Grand Central Dispatch가 버전 4.0의 iOS에 도입 된 것을 알았을 것입니다. 따라서 iOS 버전 3.2에서 작동하는 방법은 없습니다.

대안 : performSelectorInBackground:withObject:과 같은 비동기 메소드를 사용하거나 pthreads으로 사용자 고유의 스레딩 메소드를 롤아웃하십시오.

관련 문제