MJDownload
MJDownload copied to clipboard
bug fix 不能通过 get 取旧的状态, 否则下载完成后 self.state == state 进来, return无法发送通知
- (MJDownloadState)state
{
// 如果是下载完毕
if (self.totalBytesExpectedToWrite && self.totalBytesWritten == self.totalBytesExpectedToWrite) {
return MJDownloadStateCompleted;
}
// 如果下载失败
if (self.task.error) return MJDownloadStateNone;
return _state;
}
#pragma mark - 状态控制
- (void)setState:(MJDownloadState)state
{
// MJDownloadState oldState = self.state;
// 修改后:
MJDownloadState oldState = _state;
if (state == oldState) return;
_state = state;
// 发通知
[self notifyStateChange];
}