第一seprecated它說use [NSURLSession sharedsession] dataTaskwithRequest:request completionHandler:]
警告有關sendsynchronousRequest:returningResponse:錯誤:已被棄用:在IOS 9-
所以在這裏我的代碼:
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
我上面的代碼改成這樣:
NSData *returnData = [[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:nil];
我得到了2警告:
空傳遞給requirs一個非空參數
不完整的指針類型初始化「NSData的」類型「NSURLSession」
的表達被叫幫我做out.Please我解釋與有助於理解的代碼。我是新來的iOS
我的實際代碼:
-(void)getdata {
NSString *userName = @「[email protected]」;
NSString *password = @「passr」;
NSData *plainData = [password dataUsingEncoding:NSUTF8StringEncoding];
NSString *base64String = [plainData base64EncodedStringWithOptions:0];
base64String=[self sha256HashFor: base64String];
NSString *urlString = @"https://api.eaxmpleurl/files";
NSMutableURLRequest *request= [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"GET"];
NSString *authStr = [NSString stringWithFormat:@"%@:%@", userName, base64String];
NSData *authData = [authStr dataUsingEncoding:NSUTF8StringEncoding];
NSString *authValue = [NSString stringWithFormat:@"Basic %@", [authData base64EncodedStringWithOptions:0]];
[request setValue:authValue forHTTPHeaderField:@"Authorization"];
NSURLSessionDataTask *dataTask = [[NSURLSession sharedSession]
dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
{
// Use the data here
NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSError * error1;
self->arrayPDFName = [[NSMutableArray alloc]init];
NSDictionary *jsonResults = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
NSDictionary *dictOriginal = jsonResults[@"dark」];
[titleArray addObject:[NSString stringWithFormat:@" Dark(%@)」, dictOriginal[@"count"]]];
NSDictionary *dictOriginal2 = jsonResults[@"opey」];
[titleArray addObject:[NSString stringWithFormat:@" Opey(%@)」, dictOriginal2[@"count"]]];
NSDictionary *dictOriginal3 = jsonResults[@"pef」];
[titleArray addObject:[NSString stringWithFormat:@" Pef(%@)」, dictOriginal3[@"count"]]];
NSDictionary *dictOriginal4 = jsonResults[@"sdf」];
[titleArray addObject:[NSString stringWithFormat:@" Sdf(%@)」, dictOriginal4[@"count"]]];
NSArray *arrayFiles = [NSArray arrayWithObjects: dictOriginal, dictOriginal2, dictOriginal3, dictOriginal4, nil];
NSLog(@"str: %@", titleArray);
for (NSDictionary *dict in arrayFiles) {
NSMutableArray *arr = [NSMutableArray array];
NSArray *a = dict[@"files"];
for(int i=0; i < a.count; i ++) {
NSString *strName = [NSString stringWithFormat:@"%@",[[dict[@"files"] objectAtIndex:i] valueForKey:@"name"]];
// NSLog(@"str: %@", strName);
[arr addObject:strName];
}
[arrayPDFName addObject:arr];
}
NSString *errorDesc;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory1 = [paths objectAtIndex:0];
NSString *plistPath = [documentsDirectory1 stringByAppendingPathComponent:@"SampleData.plist"];
NSString *error2;
data = [ NSPropertyListSerialization dataWithPropertyList:jsonResults format:NSPropertyListXMLFormat_v1_0 options:0 error:&error];
if(data) {
if ([data writeToFile:plistPath atomically:YES]) {
NSLog(@"Data successfully saved.");
}else {
NSLog(@"Did not managed to save NSData.");
}
}
else {
NSLog(@"%@",errorDesc);
}
NSDictionary *stringsDictionary = [NSDictionary dictionaryWithContentsOfFile:plistPath];
#pragma unused (stringsDictionary)
#pragma unused (error1)
#pragma unused (str)
}];
// Starting the task
[dataTask resume];
}
您是否閱讀過'dataTaskWithRequest:completionHandler'的文檔:? – rmaddy