0

目前我有一个数组,它在设置时激活另一个函数:

   var updatedBeaconDetailsArray = [BeaconDataDetails]() { didSet {
        self.updateBeaconData(beacon: self.updatedBeaconDetailsArray)
        }
    }

我正在尝试通过激活 didSet 来清除数组,因为 didSet 函数也与应用程序的其他部分相关联,从而导致奇怪的行为。

到目前为止,我已经尝试过:

self.updatedBeaconDetailsArray = []
self.updatedBeaconDetailsArray.removeAll()

但他们都仍然激活了 didSet,有什么想法吗?

4

1 回答 1

4

如果您检查 didSet 中的数组是否为空怎么办?就像是:

var updatedBeaconDetailsArray = [BeaconDataDetails]() {
    didSet {
        if !updatedBeaconDetailsArray.isEmpty {
            self.updateBeaconData(beacon: self.updatedBeaconDetailsArray)
        }
    }
}
于 2019-10-02T21:13:51.697 回答