0

iPadにios 3.2を使用しているという質問があります.. iphone 4.1では動作しますが、iPad ios 3.2では動作しません

ここに私のコードがあります:

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

そのために何ができるか教えてください..

4

3 に答える 3

1

時間をかけてドキュメントを調べていれば、Grand Central Dispatch がバージョン 4.0 で iOS に導入されたことがわかったはずです。そのため、iOS バージョン 3.2 で動作する方法はありません。

代替手段: いくつかの非同期メソッドを使用するか、pthreadsperformSelectorInBackground:withObject:を使用して独自のスレッド化メソッドをロールアウトします。

于 2012-04-21T22:47:13.990 に答える
0

GCD とブロックは、iOS 3.2 では使用できません。単純なマルチスレッドの場合は、代わりにperformSelectorInBackground:withObject:andを使用できますperformSelectorOnMainThread:withObject:waitUntilDone:

于 2012-04-21T22:45:28.060 に答える
0

グランド セントラル ディスパッチは、iOS 4.0 より前では使用できません。非同期操作には NSInvocationOperation を使用できます。

于 2012-04-21T22:47:10.160 に答える