P.S. Андрей Алеев - "Быстрый старт Flutter-разработчика" на личном опыте в 2024 году не рекомендую. Flutter очень быстро развивается, поэтому на сегодня книга устаревшая, большинство примеров без напильника не работают.
Потому-что вы используете отложенную инициализацию поля octets класса IPAddress (см. Late и отложенная инициализация), но в последствии нигде её не инициализируете.
Вариант 1:
class IPAddress {
final List<int> octets = [];
IPAddress(List<int> octets) {
...
}
...
}
Вариант 2:
class IPAddress {
late List<int> octets;
IPAddress(List<int> octets) {
this.octets = [];
...
}
...
}
В dart нет типа переменной String?, есть просто String.
Знак вопроса в вашем случае указывает на то, что функция может вернуть либо String, либо null. В вашем случае она вернула String. Если указать String без знака вопроса и функция по какой-то причине вернёт null, то ваш код упадет с ошибкой.
Про null-safety подробнее тут: https://dart.dev/null-safety
Ответ написан
Комментировать
Комментировать
Оценили как «Нравится»
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.