-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJTHTTPManager.m
46 lines (39 loc) · 1.12 KB
/
JTHTTPManager.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//
// JTHTTPManager.m
// JTHTTPManager
//
// Created by John Tsai on 15/4/2.
// Copyright (c) 2015年 John TSai. All rights reserved.
//
#import "JTHTTPManager.h"
#if DEBUG
static NSString *BASEURL = @"you debug mode base url";
#else
static NSString *BASEURL = @"you release mode base url";
#endif
@implementation JTHTTPManager
// share the global manager
+ (instancetype)sharedManager {
static dispatch_once_t onceToken;
static JTHTTPManager *manager = nil;
dispatch_once(&onceToken, ^{
manager = [[self alloc] initWithBaseURL:[NSURL URLWithString:BASEURL]];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
manager.completionQueue = create_queue();
});
return manager;
}
// crate unique queue
dispatch_queue_t create_queue() {
static dispatch_queue_t queue = nil;
if (!queue) {
queue = dispatch_queue_create("com.myapp.newWorkingQueue", NULL);
}
return queue;
}
// get the global unique queue
- (dispatch_queue_t)getNetWotkingQueue {
return create_queue();
}
@end