#pragma mark 自定义视图
- (void)loadView
{
self.animationDetailView = [[[AnimationDetailView alloc] initWithFrame:[UIScreen mainScreen].bounds] autorelease];
self.view = _animationDetailView;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.animationDetailView.webView.delegate = self;
// 请求网络数据
[self loadDataAndShow];
}
#pragma mark 加载网络数据
- (void)loadDataAndShow
{
[SVProgressHUD show];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://news-at.zhihu.com/api/4/story/%@", _funModel.ID]];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
__block MovieDetailViewController *weakSelf = self;
[NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue new] autorelease] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
// 没有数据直接返回
if (data == nil) {
[NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(loadError:) userInfo:nil repeats:NO];
return ;
}
NSDictionary *allDataDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
NSString *bodyStr = allDataDict[@"share_url"];
NSURLRequest *webRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:bodyStr]];
//回主线程刷新UI
dispatch_async(dispatch_get_main_queue(), ^{
[weakSelf.animationDetailView.webView loadRequest:webRequest];
[SVProgressHUD dismiss];
});
}];
}
#pragma mark 网络加载失败
- (void)loadError:(NSTimer *)sender
{
[SVProgressHUD showErrorWithStatus:@"加载失败"];
[sender invalidate];
}