Bird's-eye view: you have this giant data structure that could well describe the state of the app, and you want to have a function to be magically called when needed to reflect the change in a particular subset of the state:
func foo() {
let v = s.a.b[123].c["key"]
print(v) // "UI"
}
An extremely inefficient workaround I outlined above would be to use polling:
var oldValue = ...
func timer() { // called every 1/100 second
let value = s.a.b[123].c["key"]
if oldValue != value {
oldValue = value
foo()
}
}
I don't understand what you mean, can you show a pseudo code?