我有一个计时器,如果属性不为零,则对属性执行操作,但在检查 nil 和执行操作之间,事件会将该属性设置为 nil。事实上,有几个事件都可能使该属性为零。计时器正在检查的其他属性也是一样的。
解决这个问题最优雅且可扩展的方法是什么?
- 将属性的每次使用都包含在同步块(synchronized block)中吗?
- 在计时器开始时设置/释放锁并在每个事件中检查等待锁?
- 还有别的事吗?
最佳答案
我不太确定您的具体情况,但您可能需要考虑向属性编写一个自定义 setter ,以便在计时器设置为 nil 时取消计时器?
关于objective-c - iOS:计时器检查属性是否为 nil 后,事件将属性设置为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11017888/