Send DownloadProgressDidChange notification only when numberOfTasks or numberRemaining actually change.

This commit is contained in:
Brent Simmons 2017-10-07 12:37:11 -07:00
parent 1bffbb7312
commit f7c5919674

View File

@ -10,23 +10,27 @@ import Foundation
public extension Notification.Name {
public static let DownloadProgressDidChange = Notification.Name(rawValue: "DownloadProgressDidChangeNotification")
public static let DownloadProgressDidChange = Notification.Name(rawValue: "DownloadProgressDidChange")
}
public class DownloadProgress {
public final class DownloadProgress {
public var numberOfTasks = 0 {
didSet {
if numberOfTasks == 0 {
numberRemaining = 0
}
postDidChangeNotification()
if numberOfTasks != oldValue {
postDidChangeNotification()
}
}
}
public var numberRemaining = 0 {
didSet {
postDidChangeNotification()
if numberRemaining != oldValue {
postDidChangeNotification()
}
}
}
@ -65,6 +69,8 @@ public class DownloadProgress {
}
}
// MARK: - Private
private extension DownloadProgress {
func postDidChangeNotification() {