Можно ли сделать массив пустым, не активируя его свойство DidSet? - PullRequest
0 голосов
/ 03 октября 2019

В настоящее время у меня есть массив, который активирует другую функцию при установке:

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

Я пытаюсь очистить массив с помощью активации didSet, так как функция didSet также связана с другими частями приложения, вызываястранное поведение.

Пока я пробовал:

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

но они все еще активируют didSet, какие-нибудь мысли?

1 Ответ

4 голосов
/ 03 октября 2019

Что если вы проверили, является ли массив пустым внутри didSet? Что-то вроде:

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