我想从我的主机下载一些项目, 但现在我收到警告: 'connectionWithRequest:delegate:'在 iOS9.0 中已弃用 - 使用 NSURLSession'
我到处搜索,但不幸的是我找不到任何解决方案。
你能帮帮我吗?
我的代码如下所示:
- (void)downloadItems
{
// Download the json file
NSURL *jsonFileUrl = [NSURL URLWithString"http://myhost.com/test.php"];
// Create the request
NSURLRequest *urlRequest = [[NSURLRequest alloc] initWithURL:jsonFileUrl];
// Create the NSURLConnection
[NSURLConnection connectionWithRequest:urlRequest delegate:self];
}
#pragma mark NSURLConnectionDataProtocol Methods
- (void)connectionNSURLConnection *)connection didReceiveResponseNSURLResponse *)response
{
// Initialize the data object
_downloadedData = [[NSMutableData alloc] init];
}
- (void)connectionNSURLConnection *)connection didReceiveDataNSData *)data
{
// Append the newly downloaded data
[_downloadedData appendData:data];
}
- (void)connectionDidFinishLoadingNSURLConnection *)connection
{
// Create an array to store the locations
NSMutableArray *_locations = [[NSMutableArray alloc] init];
// Parse the JSON that came in
NSError *error;
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData:_downloadedData options:NSJSONReadingAllowFragments error:&error];
// Loop through Json objects, create question objects and add them to our questions array
for (int i = 0; i < jsonArray.count; i++)
{
NSDictionary *jsonElement = jsonArray[i];
// Create a new location object and set its props to JsonElement properties
Location *newLocation = [[Location alloc] init];
newLocation.idS = jsonElement[@"idStatistic"];
newLocation.temp = jsonElement[@"temp"];
newLocation.hum = jsonElement[@"hum"];
newLocation.date_time = jsonElement[@"date_time"];
// Add this question to the locations array
[_locations addObject:newLocation];
}
// Ready to notify delegate that data is ready and pass back items
if (self.delegate)
{
[self.delegate itemsDownloaded:_locations];
}
}
将 NSURLConnection
行替换为:
NSURLSession *session = [NSURLSession sharedSession];
[[session dataTaskWithURL:jsonFileUrl
completionHandler:^(NSData *data,
NSURLResponse *response,
NSError *error) {
// handle response
}] resume];
关于ios - iOS 9.0 中不推荐使用 ConnectionWithRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32838337/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) | Powered by Discuz! X3.4 |