У меня раньше работал приведенный ниже код, теперь компилятор останавливает и отмечает оба оператора if
и говорит:
'if' должно иметь обе ветви main и else, если используется как выражение
Но, как вы видите, это не выражение, а просто оператор равенства и условный оператор рядом с ним.
try {
val json_string = responseBody!!.string()
val jsonObject = JSONObject(json_string)
if (jsonObject.has("version")) {
val remoteVersion = jsonObject.getInt("version")
if (remoteVersion > BuildConfig.VERSION_CODE) {
handler.post {
showInstallNewVersionDialog()
}
}
}
} catch (e: Exception) {
e.message?.let { Log.e(Constants.TAG, e.message!!) }
}
Забавно, если я добавил пустое else
теги, он будет работать, но предупредит об удалении пустых else
операторов:
if (jsonObject.has("version")) {
val remoteVersion = jsonObject.getInt("version")
if (remoteVersion > BuildConfig.VERSION_CODE) {
handler.post {
showInstallNewVersionDialog()
}
} else {}
} else {}