1

私は通常次のようなコードを使用します:

dispatch_queue_t queue = dispatch_queue_create("queue_name", NULL);

dispatch_async(queue, ^{
    //Code
});

ここからコアデータストアにアクセスし、同時に別のスレッドからアクセスすると、クラッシュが発生することを知っています。アプリ全体でCoreDataにアクセスするために、同じキュー名で上記のコードを引き続き使用できますか?アプリはそれが同じキューであることを認識しますか、それともキュー名を忘れますか?

4

1 に答える 1

2

渡す名前dispatch_queue_create()はシステムにとって重要ではありません。つまり、同じ名前を渡すと、同じキューが返されることはありません。これらは、デバッグ用の単なるラベルです。

異なるエリアで同じキューを使用する場合は、それらのスコープでアクセス可能な変数にキューを格納する必要があります。

于 2012-05-29T19:21:00.417 に答える