iOS_GET_网络请求
Posted gcczhongduan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS_GET_网络请求相关的知识,希望对你有一定的参考价值。
同步的 get 请求
#pragma mark - 同步的 get 请求
- (IBAction)GETSynButtonDidClicked:(UIButton *)sender {
// 1、网址里面必须写 http://
NSString *urlString = @"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213";
// 2、假设网址有汉字须要转换(没有汉字也能够写)
urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
// 3、依据字符串创建 url(统一资源定位符)
NSURL *url = [NSURL URLWithString:urlString];
// 4、依据 url 创建 request 请求类的对象
NSURLRequest *request = [NSURLRequest requestWithURL:url];
// 5、開始去请求网络、数据(同步) 返回data
NSData *receiveData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
// 6、系统自带json解析
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:receiveData options:(NSJSONReadingMutableContainers) error:nil];
NSArray *array = dict[@"news"];
self.newsArray = [NSMutableArray array];
for (NSDictionary *smallDict in array) {
NewsModal *modal = [[NewsModal alloc] init];
[modal setValuesForKeysWithDictionary:smallDict];
[self.newsArray addObject:modal];
}
for (NewsModal *modal in self.newsArray) {
NSLog(@"%@", modal.title);
}
}
异步的 get 请求
#pragma mark - 异步的 get 请求
- (IBAction)GETAsyButtonDidClicked:(UIButton *)sender {
// 1、拼接 urlString,网址里面必须写 http://
NSString *urlString = @"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213"
;
// 2、依据字符串创建 URL(统一资源定位符)
NSURL *url = [NSURL URLWithString:urlString];
// 3、依据 url 创建 request 请求类的对象
NSURLRequest *request = [NSURLRequest requestWithURL:url];
// 4、開始去请求网络、数据(同步) 返回data
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
// 5、系统自带json解析
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:(NSJSONReadingMutableContainers) error:nil];
NSArray *array = dict[@"news"];
self.newsArray = [NSMutableArray array];
for (NSDictionary *smallDict in array) {
NewsModal *modal = [[NewsModal alloc] init];
[modal setValuesForKeysWithDictionary:smallDict];
[self.newsArray addObject:modal];
}
for (NewsModal *modal in self.newsArray) {
NSLog(@"%@", modal.title);
}
}];
}
以上是关于iOS_GET_网络请求的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段14——Vue的axios网络请求封装