Выражение преобразуется в неиспользуемое значение I

Я новичок в Swift и пытаюсь изменить цвет фона кнопки.

Я использую chicken1, чтобы изменить цвет фона кнопки вместе

Но я продолжаю получать эту ошибку

Выражение преобразуется в неиспользуемое значение I Value"

Вот текущий код.

let chicken1 = button1; button2
chicken1.backgroundColor = UIColor.blueColor()

Также я должен использовать «var»?


person system21    schedule 17.01.2016    source источник
comment
Что это? button1; button2   -  person Arc676    schedule 17.01.2016
comment
IBOutlet var button1: UIButton! IBOutlet var button2: UIButton!   -  person system21    schedule 17.01.2016
comment
Это не то, что я имел ввиду. Что let chicken1 = button1; button2 должен делать? Вы не можете присвоить несколько значений одной переменной (может быть, вам нужны кортежи или массивы?)   -  person Arc676    schedule 17.01.2016
comment
я использую Chicken1, чтобы изменить цвет фона кнопки все вместе   -  person system21    schedule 17.01.2016


Ответы (3)


AFAIK, это невозможно так, как вы пытаетесь это сделать.

Один из вариантов — перебрать все ваши кнопки и изменить цвет фона в цикле.

for button in [button1, button2]{
    button.backgroundColor = UIColor.blueColor()
}

Причина, по которой вы получаете эту ошибку, заключается в том, что эта строка

let chicken1 = button1; button2

такой же как

let chicken1 = button1
button2 //this value isn't used

Swift на самом деле не нуждается в ; в конце строки, как в других языках. Добавляя ;, вы сообщаете Swift, что хотите иметь несколько выражений в одной строке.

Вторая строка ничего не делает, потому что в ней нет ни вызовов функций, ни присваиваний, поэтому вы как будто хотите получить значение button2, но не используете его. .

person Arc676    schedule 17.01.2016

Как упоминается в комментарии Arc676, вы не можете присваивать несколько значений одной переменной.

Итак, первый способ добиться этого — установить цвет фона индивидуально, как показано ниже:

button1.backgroundColor = UIColor.blueColor()
button2.backgroundColor = UIColor.blueColor()

Или, если у вас есть массив кнопок:

let chicken1 = [button1, button2]
for item in chicken1 {

    item.backgroundColor = UIColor.blueColor()
}
person Dharmesh Kheni    schedule 17.01.2016

для Swift 3 Xcode 8 используйте код ниже

button1.backgroundColor = UIColor.blue
button2.backgroundColor = UIColor.blue

Или, если у вас есть массив кнопок:

let chicken1 = [button1, button2]
for item in chicken1 {
    item.backgroundColor = UIColor.blue
}
person varun kalra    schedule 06.04.2017