私はこのコードを使用しています:
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
dispatch_async(queue, ^{
//saving stuff to NSUserDefaults
});
コードが2回連続して呼び出されない限り機能し、その時点でクラッシュします。それが言うのはThread 7: trace
、の画面でのクラッシュのためだけCFRetain
です。
キューが終了しない限り、このルーチンの再起動を許可するべきではないと推測しています。しかし、多くのパラメーターのどれを変更するかはわかりません。優先度を高くする必要はありません。また、グローバルキューである必要もありません。正直なところ、スレッドプログラミングには、これらすべてを特定するのに時間がかかるので、誰かが私を指摘してくれることを期待しています。正しい方向。