我想观察一个具有键值观察的属性,并通过连接发送更改事件。
我遇到的问题是基于GCD的队列用于任务,而不是长时间运行的进程。
我希望能够阻止函数返回,但仍然会侦听键值更改并通过异步异步发送它们。
示例:
func f(con: Connection) {
objCKVObservable.observe(\.path) {(a, b) in
con.send("some changes")
}
// Cannot let this function return as the connection is auto closed.
}
我是否需要有一个活动的RunLoop才能处理路径上的新突变?