условное связывание должно иметь необязательный тип, а не 'String' [дубликат]

Чтобы получить данные состояния активности, хранящиеся в onCreate(), сначала вам нужно сохранить данные в файле savedInstanceState, переопределив метод SaveInstanceState(Bundle savedInstanceState).

Когда вызывается вызов функции destroy SaveInstanceState(Bundle savedInstanceState), и там вы сохраняете данные вы хотите сохранить. И вы получите то же самое в onCreate(), когда перезагрузка активности. (SavedInstanceState не будет пустым, поскольку вы сохранили некоторые данные в нем до того, как действие будет уничтожено)

2
задан kmnflask 24 March 2019 в 19:10
поделиться

2 ответа

В нем говорится, что использование условия if не является необходимым, поскольку «productName» не является обязательным.

Вы можете напрямую добавить значение на свой ярлык.

self.productName.text = productData.product.productName //Product name is not optional

Необязательное сцепление используется, когда вы пытаетесь получить необязательное значение. Например, если вы хотите получить текст метки, вам потребуется условие if.

if var text = self.productName.text { //Text in label is optional
   print(text)
}
0
ответ дан sinner 24 March 2019 в 19:10
поделиться

Кажется, что компилятор жалуется, что productData.product.productName НЕ является Факультативным. Конструкция if var name = ____ работает только на Optionals.

Если вы проверяете непустую строку, вы можете вместо этого проверить count или isEmpty.

0
ответ дан Mike Hay 24 March 2019 в 19:10
поделиться