Drop-in download manager view controller for iOS
Latest commit 0480466 Jun 10, 2013 @H2CO3 Merge pull request #9 from Abizern/patch-1
Update and rename README.txt to README.md
Failed to load latest commit information.
HCDownloadViewController.h Small improvements; added API for watching download progress Dec 22, 2012



HCDownloadViewController *dlvc = [[HCDownloadViewController alloc] init];
dlvc.downloadDirectory = @"/var/mobile/Library/Downloads";
dlvc.delegate = self;
[dlvc downloadURL:[NSURL URLWithString:@"http://megaupload.com/piratedSong.mp3"] userInfo:nil];

userInfo is an NSDictionary with arbitrary values, it can even be nil. However, some special keys are respected by the view controller: kHCDownloadKeyTitle corresponds to an NSString which will be used as the title of the download in the table view instead of the file name, and kHCDownloadKeyImage must correspond to an UIImage (if present) that will be displayed in the left side of the table view cell. kHCDownloadKeyFileName shall specify an NSString (if any) that contains a valid filename, to which the downloaded data is to be saved. If not present, the filename suggested by the server will be used.

To inspect the number of downloads currently in progress, use dlvc.numberOfDownloads.

To respond to download events, implement the optional delegate methods:

- (void)downloadController:(HCDownloadViewController *)vc startedDownloadingURL:(NSURL *)url userInfo:(NSDictionary *)userInfo;
- (void)downloadController:(HCDownloadViewController *)vc dowloadedFromURL:(NSURL *)url progress:(float)progress userInfo:(NSDictionary *)userInfo;
- (void)downloadController:(HCDownloadViewController *)vc finishedDownloadingURL:(NSURL *)url toFile:(NSString *)fileName userInfo:(NSDictionary *)userInfo;
- (void)downloadController:(HCDownloadViewController *)vc failedDownloadingURL:(NSURL *)url withError:(NSError *)error userInfo:(NSDictionary *)userInfo;