Иногда происходит сбой при получении вычисляемой переменной - PullRequest
0 голосов
/ 27 декабря 2018

Я получаю сбой в следующем коде:

var gmsBounds: GMSMutablePath {
    get {
        let path = GMSMutablePath(with: self.boundaries)
        return path!
    }
}

В настоящее время происходит сбой при инициализации GMSMutablePath в соответствии с Crashlytics.Однако этот код никогда не вызывается до инициализации класса, а self.boundaries сохраняется во время инициализации, поэтому я не уверен, насколько self.boundaries может быть нулевым.Я также лично не могу воссоздать аварию, так что это не ошибка, которая затрагивает каждого пользователя.Любая помощь приветствуется, вычисленные переменные являются для меня новой концепцией.

1 Ответ

0 голосов
/ 27 декабря 2018

Когда я делаю обзоры кода всегда, я избегаю принудительной распаковки, на первый взгляд вы можете поверить, что она никогда не превратится в ноль, но я предпочитаю избегать, чтобы

return path!

Попробуйте сначала развернуть (безопасно) ее илиизмените определение переменной на необязательное:

var gmsBounds: GMSMutablePath? {
    get {
        let path = GMSMutablePath(with: self.boundaries)
        return path!
    }
} 
...