2018-08-15優雅な初期化dispatch_queue_t

569 ワード

習慣的な愛グローバル変数を使用してdispatchを定義するqueue_tタイプ、および+(void)load;メソッドで初期化を行います.AFNetworkingでもっと優雅なやり方を見ました.コードは次のとおりです.
static dispatch_queue_t url_session_manager_processing_queue() {
    static dispatch_queue_t af_url_session_manager_processing_queue;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        af_url_session_manager_processing_queue = dispatch_queue_create("com.alamofire.networking.session.manager.processing", DISPATCH_QUEUE_CONCURRENT);
    });

    return af_url_session_manager_processing_queue;
}