iOS技术之批量下载

本文详细介绍了在iOS开发中实现批量下载的步骤和关键技巧,包括使用URLSession进行下载任务管理,处理网络状态变化,以及如何在后台持续下载等核心知识点。
摘要由CSDN通过智能技术生成
    批量下载, 是一种很常见的技术.特别是一些视频软件最常见.掌握这项技术对开发有很大的帮助. 下面就让我来给你慢慢介绍, 帮助你快速成为开发大神. 就比如说想点击电影列表进入下载任务当中. 具体步骤如下:
    1.利用了第三方 AFNetworking 文件, 通过 cocoPods, 先将其导入进来.在(1)电影页面利用, AFHTTPURLSessionManager 去发起 get 请求.并给 创建的 movieModel 赋值. 添加到数据源数组中,并展示.(小技巧: 方便赋值, 通过 setValueKeysDictionary, 这样以后, 赋值很方便).
    1.封装一个助手类, 在助手类中, 写上数据源的属性, 方便给 movieDownModel 赋值, 以及给相应的 movieModel 去下载 在下载页面要显示的模型(小技巧: 在没有关联的两个界面之间传值-- 尽量用 block 去完成, 用 助手类完成).
    2. 当然 MVC模式, model(想要展示的内容), cell(根据  界面自定义的 cell),在相应的 viewController 中,声明添加数据源属性.懒加载.执行 delegate 的回调方法.
    3. 注意: 在 downLoadModel 模型中,声明 block 属性, 在助手类中使用 NSURLSessionDataTask 去执行下载任务.调用 block 块时,传递 block, 之后再 downLoadModel 中展示 cell 时, setMyblock, 赋上值.


   在 Helper 中,
   - (NSMutableArray *)dataSource {
    if (_dataSource == nil) {
        self.dataSource = [NSMutableArray array];
    }
    return _dataSource;
}
+(Helper *)shareHelper {
    static Helper *helper = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        helper = [[Helper alloc]init];
    });
    return helper;
}
// 更具电影 - 下载模型
// 相当于在下载页面进行的
- (void)downLoadMovieWithMovieModel:(MovieModel *)movieModel {
    for (DownLoadModel *downLoadModel in self.dataSource) {
        if ([downLoadModel.movieID isEqualToValue:movieModel.movieID]) {
            return;
        }
    }

    DownLoadModel *downLoadModel = [[DownLoadModel alloc]init];
    downLoadModel.title = movieModel.title;
    downLoadModel.movieflv = movieModel.movieflv;
    downLoadModel.movieID = movieModel.movieID;
    downLoadModel.photoView = movieModel.photoView;

    [self.dataSource
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值