我有一个演员:
actor MyActor {
let theQueue = OperationQueue()
init() {
_ = theQueue.observe(\OperationQueue.operationCount, options: .new) { oq, change in
print("OperationQueue.operationCount changed: \(self.theQueue.operationCount)")
}
}
....
}
我试图让 KVO 然后触发某种类型的发布者调用,应用程序中的其他模型可以订阅并在 operationCount 更改时根据需要做出反应。
我将有一个可能会设置它的函数,但是,截至目前,self
在该初始化程序中使用会给我这个警告,根据这个:
https://forums.swift.org/t/proposal-actor-initializers-and-deinitializers/52322
它很快就会变成一个错误。
我得到的警告是这样的:
Actor 'self' 只能被异步初始化器的闭包捕获
那么,我如何触发发布者,然后其他模型可以对其做出反应,从而在操作队列operationCount
发生变化时发布操作队列?