38

iOS 5 で xmppframework を使用してチャット アプリケーションを開発しています。それは完全に機能します。

しかし、Xcode を 4.5.1 に、iOS 5 を iOS 6 に、Mac OS を 10.7.5 に更新しましたが、非推奨の問題のためにプロジェクトが機能しませんでした。iOS 6 では、次のメソッドを除くすべてのメソッドを新しいメソッドに置き換えました。

dispatch_get_current_queue()  

iOS 6 でこのメソッドを置き換えるにはどうすればよいですか?

4

2 に答える 2

4

この呼び出しで何を達成する必要があるかによって異なります。
Appleは、とにかくデバッグに使用する必要があると述べています。

おそらくキューは問題ではないので (バックグラウンド キューが必要なだけなので)、特定の優先順位を持つグローバル キューを取得します ( dispatch_get_global_queue(dispatch_queue_priority_t priority, unsigned long flags);)

また、

同じキューでいくつかのコードを実行する必要がある場合は、キューを作成して保持し、そこにすべてのタスクをディスパッチします。

于 2012-10-11T14:53:30.710 に答える
2

を使用してはNSOperationQueueどうですか?

-(void) doSomeThing:(void (^)(BOOL success)) completionHandler
{
    NSOperationQueue* callbackQueue = [NSOperationQueue currentQueue];
    if(!callbackQueue) {
        callbackQueue = [NSOperationQueue mainQueue];
    }
    dispatch_async(...,^{
         // do heavyweight stuff here
         // then call completionHandler
         if(completionHandler) {
             [callbackQueue addOperationWithBlock:^{
                 completionHandler(...);
             }];
         }
    });
于 2013-11-09T16:03:58.047 に答える