Вам нужен только оператор безопасного вызова ?.
, если левая сторона имеет тип NULL.В этом случае properties
не имеет значения NULL (его тип Properties
, а не Properties?
), поэтому вы можете просто оставить оператора выключенным и получить доступ к свойству readModeOnly
напрямую:
var properties = Properties()
if (properties.readModeOnly) {
}
Обновить в соответствии с комментарием ниже:
Если properties
равен обнуляемым, то properties?.readModeOnly
вернет Boolean?
(так как вернет null
, еслиproperties
само по себе null
).Это означает, что выражение может теперь принимать три значения: true
, false
или null
.
Если вы считаете null
false
, вы можете использовать эту проверку if
:
if (properties?.readModeOnly == true) {
}
Или, если null
считается true
, хотя это кажется нелогичным:
if (properties?.readModeOnly != false) {
}