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,25 +10,29 @@ 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
}
if numberOfTasks != oldValue {
postDidChangeNotification()
}
}
}
public var numberRemaining = 0 {
didSet {
if numberRemaining != oldValue {
postDidChangeNotification()
}
}
}
public var numberCompleted: Int {
get {
@ -65,6 +69,8 @@ public class DownloadProgress {
}
}
// MARK: - Private
private extension DownloadProgress {
func postDidChangeNotification() {