1

アプリケーションに少し問題があります。
ビューを切り替えると、このアプリが 2 つの並べ替えアルゴリズムを実行した後、約 3 ~ 10 秒の遅延が発生します。(クイックおよびバブルソート)余分なスレッドで。問題がどこにあるのかわかりません。

コードスニペットは次のとおりです。

[alert show];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, (unsigned long)NULL), ^(void) {
     time = [Sort sortRuns:(int)slider_durchlaeufe.value WithCapacity:(int)slider_ArraySize.value Reference:alert]; //time is a global reference to my Time object
     [self setDataForStatistik]; // a Method to set the statisik for the next view 
     [alert dismissWithClickedButtonIndex:0 animated:true];
  });

失敗はこのコード スニペットにあると思います。

あなたが私を助けてくれることを願っています。

ロビーバイト

4

1 に答える 1

0

メイン キューで UI の更新 (または UI の更新をトリガーする可能性のある変更) を行う必要があります。コード サンプルを見ると、この入れ子になった "バックグラウンド キューに非同期で、次にメイン キューに非同期" がかなり見られます。

[alert show];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, (unsigned long)NULL), ^(void) {
     time = [Sort sortRuns:(int)slider_durchlaeufe.value WithCapacity:(int)slider_ArraySize.value Reference:alert]; //time is a global reference to my Time object
     dispatch_async(dispatch_get_main_queue(), ^{
         [self setDataForStatistik]; // a Method to set the statisik for the next view 
         [alert dismissWithClickedButtonIndex:0 animated:true];
     });
});

それが役立つことを願っています。

于 2012-10-26T13:52:43.850 に答える