NSPrivateQueueConcurrencyType スレッドで実行されるブロックにスレッド コンテキスト固有のデータを格納する必要があります。ブロック内でやりたいことの例を次に示します (保存するコンテキスト データの簡単な例を示しますが、要点はわかります)。
dispatch_queue_t myQueue = dispatch_get_current_queue(); NSMutableDictionary *myContext = @{@"Context": @"ContextData"}; dispatch_set_context(myQueue, (__bridge_retained void *)myContext);
しかし、問題は、現在のキューへの参照を取得するために使用される関数 dispatch_get_current_queue() が非推奨であるため、使用したくないことです。このキューへの参照を取得するための他のメカニズムが見当たらないので、それに対してコンテキスト データを保存できます。Appleがdispatch_get_current_queue()を廃止したかどうか疑問に思っています。なぜなら、彼らは私がやろうとしていることを人々にやらせたくないからです.これに関するドキュメントの警告は見当たりません. 1.これが悪いことである理由を知っていますか? 2. スレッドがたまたまシステム提供の CoreDataPrivateQueue タイプである場合に、使用されるコードも機能するはずの現在のスレッドに関連するコンテキスト データを保存する他の方法を知っていますか?