есть класс UpdateManager, и внутри этого класса есть функция checkUpdate()
В классе MainActivity я создаю объект UpdateManager
private var updateManager : UpdateManager? = null
А потом внтури определенной функции MainActivity:
If(!BuildConfig.DEBUG) upadateManager = UpdateManager.apply( checkUpdate()
То IDEA мне ничего не говорит. А если делаю так:
If(!BuildConfig.DEBUG) updateManager = UpdateManager()
updateManager.checkUpdate()
То IDEA меня заставляет использовать или !! Или ?. И я не могу понять почему в первом случае меня не просит ставить сейфколлы
IDE не может знать наверняка что сейчас в переменной - null или нет. В первом случае вы не делаете никаких операций с nullable-переменной, кроме присвоения инстанса класса к ней. Во втором вы явно на nullable-переменной пытаетесь вызывать метод. Любые вызовы методов класса через nullable-переменную, хранящую его инстанс, требуют проверки на null. И такие вопросы лучше задавать в @kotlin_start.
Аа понял понял, спасибо, в след раз буду в другой группе задавать. Спасибо еще раз за помощь:)
Обсуждают сегодня