Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

66
Views
Variables dependency using Combine

I have a class with to variables depending on each other. If a variable changes it may change the other and vice versa.

I am using the Combine framework in iOS Swift. So with sink I am listening/subscribe to changes of the publisher.

var store = Set<AnyCancellable>()
class Obs: ObservableObject {
    @Published var pub: Int = 0
}
let ob1 = Obs()
let ob2 = Obs()
    
ob1.$pub
    .dropFirst()  // ignore initial assignment
    .sink { num in
        if ob2.pub != num {
            ob2.pub = num
        }
    }.store(in: &store)
    
ob2.$pub
    .dropFirst()
    .sink { num in
        if ob1.pub != num {
            ob1.pub = num
        }
    }.store(in: &store)
    
ob1.pub = 1

With this code I get a stack overflow. How can I break the "infinite loop"?

Should I use something like semaphores? Or some kind of flag within a tuple? Or are there some special combine filter? Or any other ideas...?

I think I may have some general misunderstanding of the problem...

over 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!