如何在一段时间内检查布尔变量是否仍然为真?

时间:2019-07-10 21:05:50

标签: ios swift

我想知道如何在一段时间内检查初始化后的布尔变量是否仍然具有相同的值(真/假)

我当时正在考虑使用NSTimer,但我相信有更好的方法来解决这种问题。

有什么好方法可以检查布尔变量在一段时间内是否仍具有相同的值?

1 个答案:

答案 0 :(得分:0)

我会写一个简单的包装器:

struct WrappedBoolean {
    private(set) var value: Bool
    private(set) var wasChanged = false

    init(with value: Bool) {
        self.value = value
    }

    func set(value: Bool) {
        self.value = value
        wasChanged = true
    }

}

我们还可以使用generics对所有数据类型使用包装器:

struct WrappedValue<T> {
    private(set) var value: T
    private(set) var wasChanged = false

    init(with value: T) {
        self.value = value
    }

    func set(value: T) {
        self.value = value
        wasChanged = true
    }

}