commit
41262719dd
|
@ -51,22 +51,22 @@ public class Task {
|
|||
tag: String? = nil,
|
||||
onElapse: @escaping (Task) -> Void) {
|
||||
|
||||
self._iterator = schedule.makeIterator()
|
||||
self._timer = DispatchSource.makeTimerSource(queue: queue)
|
||||
_iterator = schedule.makeIterator()
|
||||
_timer = DispatchSource.makeTimerSource(queue: queue)
|
||||
|
||||
self._actions.add(onElapse)
|
||||
_actions.add(onElapse)
|
||||
|
||||
self._timer.setEventHandler { [weak self] in
|
||||
_timer.setEventHandler { [weak self] in
|
||||
self?.elapse()
|
||||
}
|
||||
|
||||
// Consider `nil` a distant future.
|
||||
let interval = self._iterator.next() ?? Date.distantFuture.intervalSinceNow
|
||||
self._timer.schedule(after: interval)
|
||||
self._timeline.estimatedNextExecution = Date().adding(interval)
|
||||
let interval = _iterator.next() ?? Date.distantFuture.intervalSinceNow
|
||||
_timer.schedule(after: interval)
|
||||
_timeline.estimatedNextExecution = Date().adding(interval)
|
||||
|
||||
TaskCenter.shared.add(self, withTag: tag)
|
||||
self._timer.resume()
|
||||
_timer.resume()
|
||||
}
|
||||
|
||||
deinit {
|
||||
|
|
|
@ -32,12 +32,12 @@ struct WeakSet<T: AnyObject> {
|
|||
private var set = Set<WeakBox<T>>()
|
||||
|
||||
mutating func insert(_ object: T) {
|
||||
self.set.insert(WeakBox(object))
|
||||
set.insert(WeakBox(object))
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
mutating func remove(_ object: T) -> T? {
|
||||
return self.set.remove(WeakBox(object))?.ref
|
||||
return set.remove(WeakBox(object))?.ref
|
||||
}
|
||||
|
||||
func contains(_ object: T) -> Bool {
|
||||
|
@ -45,11 +45,11 @@ struct WeakSet<T: AnyObject> {
|
|||
}
|
||||
|
||||
var objects: [T] {
|
||||
return self.set.map { $0.ref }.compactMap { $0 }
|
||||
return set.map { $0.ref }.compactMap { $0 }
|
||||
}
|
||||
|
||||
var count: Int {
|
||||
return self.objects.count
|
||||
return objects.count
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue