iOS 서버에 json 데이터 업로드

4267 단어

NSLog

#ifndef __OPTIMIZE__
#define NSLog(FORMAT, ...) fprintf(stderr,"[%s]: :%s-%s-%d-%s
",__TIME__,[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String],__FUNCTION__, __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]); #else # define NSLog(...) {} #endif
NSMutableDictionary *dict = @{}.mutableCopy;
    
    NSMutableArray *array = @[].mutableCopy;
    
    NSMutableDictionary *dicts = @{}.mutableCopy;
    
    [self.dataSource enumerateObjectsUsingBlock:^(YAKAccessoriesSearchListModel * obj, NSUInteger idx, BOOL * _Nonnull stop) {
        
        [dicts setObject:[NSString stringWithFormat:@"%d", obj.number] forKey:@"number"];
        [dicts setObject:obj.accessorieId forKey:@"productForRepairId"];
        
    }];
    
    [array addObject:dicts];
    
    [dict setValue:[UserInfoModel getUserInfo].user_id forKey:@"userId"];
    [dict setValue:self.model.consEventId forKey:@"consEventId"];
    [dict setObject:array forKey:@"quotedPriceItems"];
    
    // json
    NSError *error = nil;
    
    NSData *data = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&error];
    
    NSString *jsonStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    
    NSMutableString *mutStr = [NSMutableString stringWithString:jsonStr];
    NSRange range = {0,jsonStr.length};
    // 
    [mutStr replaceOccurrencesOfString:@" " withString:@"" options:NSLiteralSearch range:range];
    NSRange range2 = {0,mutStr.length};
    [mutStr replaceOccurrencesOfString:@"
" withString:@"" options:NSLiteralSearch range:range2]; AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithBaseURL:[NSURL URLWithString:kWebServiceAddress]]; AFHTTPRequestSerializer *requestSerializer = [AFHTTPRequestSerializer serializer]; requestSerializer.timeoutInterval = 10; manager.requestSerializer = requestSerializer; manager.requestSerializer=[AFJSONRequestSerializer serializer]; manager.responseSerializer = [AFJSONResponseSerializer serializer]; manager.requestSerializer.stringEncoding = NSUTF8StringEncoding; // [AFNetworkActivityIndicatorManager sharedManager].enabled = YES; // manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"application/json"]; // [manager POST:@"/api/grabSingle/createQuotedPrice" parameters:mutStr progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { // NSLog(@"1111"); // } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { // NSLog(@"error:%@",error); // }]; // NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@/api/grabSingle/createQuotedPrice", kWebServiceAddress]]]; request.HTTPMethod = @"POST"; [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; NSString *postStr = [NSString stringWithFormat:@"%@",mutStr]; [request setHTTPBody:[postStr dataUsingEncoding:NSUTF8StringEncoding]]; NSURLSessionTask *task = [manager dataTaskWithRequest:request completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) { NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response; #warning -- if (httpResponse.statusCode == 200) { [SVProgressHUD showSuccessWithStatus:@" "]; int index = (int)[[self.navigationController viewControllers] indexOfObject:self]; if (index > 2) { [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:(index - 3)] animated:YES]; } }else{ [SVProgressHUD showErrorWithStatus:@" "]; } NSLog(@" http response : %ld",(long)httpResponse.statusCode); }]; [task resume];

좋은 웹페이지 즐겨찾기