Вы не указываете номер строки, в которой включена ошибка, но, глядя на текст, в котором упоминается операция ==
, поэтому я предполагаю, что это один из следующих вариантов:
if hardness == "Soft"{
else if hardness == "Medium"{
"Soft" и «Средние» - это струны, поэтому твердость должна составлять 'UILabel?
. Эти типы нельзя сравнивать друг с другом. Вы хотите, чтобы текст отображался на кнопке? Глядя на UILabel docs , есть свойство text
, поэтому вы, вероятно, захотите изменить эту строку, чтобы получить строку, представляющую текст кнопки:
let hardness = sender.titleLabel.text
Используете ли вы Dynami c кнопки? Было бы менее подвержено ошибкам просто сравнить отправителя с кнопкой, которую вы проверяете. Сравнение жестко закодированных строк с текстом кнопки может привести к ошибкам во время выполнения. Возможно, вы не правильно поняли дело, неправильно написали текст или решили локализовать позже, чтобы текст мог быть другим на другом языке. Эти ошибки не будут обнаружены во время компиляции.