#flutter #dart
Вопрос:
введите описание изображения здесь столкнулся с «Типом аргумента ‘String?’ не может быть присвоен типу параметра ‘String'» в следующем коде
статический извлекаемый текст(VisionText visionText) { String text = «;
for (TextBlock block in visionText.blocks) {
for (TextLine line in block.lines) {
for (TextElement word in line.elements) {
text = text word.text ' ';
}
text = text 'n';
}
}
return text;
}
Ответ №1:
«Тип аргумента ‘String?’ не может быть присвоен типу параметра ‘String'»
Эта ошибка возникает, когда ожидается ненулевое String
значение, но вместо него String?
предоставляется значение, равное нулю.
В этом случае, если ваше значение не равно нулю, а ваше значение равно нулю, вы можете сделать это text
String
word.text
String?
:
text = (word?.text ?? '') ' ';
Здесь ?.
оператор предназначен для проверки, если word
не равно null, а затем получить text
значение. ??
в случае word?.text
, если значение равно null, затем примите в качестве значения пустую строку. Таким образом, значение всегда является ненулевым.
Вы можете прочитать больше о документации здесь.
Комментарии:
1. Спасибо, это сработало
2. @MayankShekhar Можете ли вы отметить мой как принятый ответ, очень признателен! 😉
Ответ №2:
вы можете попробовать :
text = text (word?.text ?? '' ) ' ';