//訪問網(wǎng)絡(luò)
//NSAppTransportSecurity////NSAllowsArbitraryLoads//
使用GCD異步加載圖片
第一步:定義屬性?
```
@interface ViewController ()
?@property (nonatomic, strong) UIScrollView scrollView; @property (nonatomic, strong) UIImageView imageView; @end
@implementation ViewController
```
第二步: 初始化控件?
```
- (void)loadView {?
?self.scrollView = [[UIScrollView alloc] initWithFrame: ? ? ? [UIScreen mainScreen].bounds]; self.scrollView.backgroundColor = [UIColor redColor]; self.view = self.scrollView;
self.imageView = [[UIImageView alloc] init];
[self.scrollView addSubview:self.imageView];
}
(void)viewDidLoad { [super viewDidLoad];
```
第三步: 使用GCD異步下載網(wǎng)絡(luò)圖片
```
// 異步下載網(wǎng)絡(luò)圖片 dispatch_async(dispatch_get_global_queue(0, 0), ^{?
// 1. URL NSURL url = [NSURL URLWithString:@"http://g.hiphotos.baidu.com/image/pic/item/472309f790529822c4ac8ad0d5ca7bcb0a46d402.jpg"]; // 2. data NSData data = [NSData dataWithContentsOfURL:url];
?// 3. image UIImage *image = [UIImage imageWithData:data];?
// 4. 主線程更新UI dispatch_sync(dispatch_get_main_queue(), ^{ self.imageView.image = image; [self.imageView sizeToFit];
self.scrollView.contentSize = image.size;
});
});
}?
```
注意:異步加載網(wǎng)絡(luò)圖片的代碼必須能敲出來,面試有可能筆試或機(jī)試,1期有同學(xué)機(jī)試遇到過。 需求: 從網(wǎng)絡(luò)上下載圖片,然后更新圖片,用代碼實(shí)現(xiàn)。 dispatch_async(dispatch_get_global_queue(0, 0), ^{ // 異步下載圖片
```
dispatch_sync(dispatch_get_main_queue(), ^{
// 主線程更新UI
});
});
```