#import <Foundation/Foundation.h>
@interface HTTPDownloadManager : NSObject
/**
* 下载完成列表
*/
@property (nonatomic , strong) NSMutableArray *downloadFinishLists;
/**
* 正在下载的列表
*/
@property (nonatomic, strong) NSMutableArray *downloadingLists;
/**
* 单例对象
*
* @return <#return value description#>
*/
+ (instancetype)sharedManger;
/**
* 添加下载任务
*
* @param url <#url description#>
*/
- (void)addDownloadWithUrl:(NSURL *)url;
/**
* 判断是否已经下载完成
*
* @return <#return value description#>
*/
- (BOOL)isExistInDownloadFinishListsWithUrl:(NSURL *)url;
/**
* 判断是否正在下载
*
* @param url <#url description#>
*
* @return <#return value description#>
*/
- (BOOL)isExistInDownloadingListsWithUrl:(NSURL *)url;
@end
#import "HTTPDownloadManager.h"
#import "HTTPDownload.h"
@implementation HTTPDownloadManager
/**
* 单例对象
*
* @return <#return value description#>
*/
+ (instancetype)sharedManger
{
#if 0
static HTTPDownloadManager *manager = nil;
//对象锁
@synchronized(self)
{
if (!manager)
{
manager = [[self alloc] init];
}
return manager;
}
#endif
static HTTPDownloadManager *manager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
manager = [[self alloc] init];
});
return manager;
}
/**
* 添加下载任务
*
* @param url <#url description#>
*/
- (void)addDownloadWithUrl:(NSURL *)url
{
HTTPDownload *download = [[HTTPDownload alloc] initWithUrl:url];
//开始下载
[download startDownload];
}
@end