Я какое-то время играю с издателем таймеров на детской площадке. ниже мой код
let timer = Timer
.publish(every: 1.0, on: .main, in: .common)
.autoconnect()
var counter = 0
let subscriber = timer
.map({ (date) -> Void in
counter += 1
})
.sink { _ in
print("I am printing the counter \(counter)")
}
if counter > 5 {
timer.upstream.connect().cancel() //1.nothing happened
subscriber.cancel() //2. nothing happened too. :(
}
Но я не мог остановить таймер, используя как строку 1, так и строку 2. Что мне на самом деле не хватает?