Я пытаюсь обновить значение переменных Int (которые от одной функции) внутри другой функции. Сейчас у меня есть две переменные, объявленные 0 вне любых функций. Затем в одной функции им присваивается значение 1 или 0. До этого момента все нормально. Затем я пытаюсь обновить переменные, когда пользователь удаляет UIImageView
(вычитая 3 из одной переменной и добавляя две к другой). Проблема, с которой я сталкиваюсь, заключается в том, что вместо вычитания 3 и добавления 2 к 1 и 0, это вычитание 3 и добавление 2 к исходному 0, что переменные были объявлены как.Обновление переменных из одной функции внутри другой
var playerA:Int = 0
var playerB:Int = 0
func firstFunction(playerA:Int, playerB:Int) {
if counter%2 {
playerA = 1
playerB = 0
}
else {
playerA = 0
playerB = 1
}
}
func secondFunction(playerA:Int, playerB:Int) {
counter += 1
if counter%2 0 {
playerA += -3
playerB += 2
}
else {
playerA += 2
playerB += =3
}
Здесь secondFunction возвращает -3 и 2 вместо -2 и 2.
Моя идея, чтобы исправить это, чтобы использовать массив, который возвращается из firstFunction
, и для обозначения элементов по индексу (например, ->[Int, Int]
, где Ints: playerA
и playerB
).
Не передавать переменные в функции. Он должен работать лучше. Переменные глобальны, они видны во всем объекте. – FredericP