【发布时间】:2019-12-13 06:26:30
【问题描述】:
我的代码需要检查传感器值,直到它变为 1 或代码超时。因此我在想这样一个无限循环。
sensor 是一个可以实时访问传感器值的单例对象。默认值为 0,我想监视值是否更改为 1。
for (;;) {
int sensorVal = [sensor getVal];
if (sensorVal == 1) break;
if (timeout) break;
}
但问题是我不想在我的代码中出现无限循环。我想知道在 Objective-C 中是否有更好的方法来编写它?
【问题讨论】:
-
使用 KVO 或通知。
-
或
NSTimer用于定期轮询。 -
[sensor val]到底是什么?你怎么得到它?你需要一个委托方法吗?块完成? -
@Lame 是一个单例对象,可以实时访问传感器值。
标签: objective-c infinite-loop observer-pattern key-value-observing