Похоже, вы объявили несколько переменных, по одной для каждой кнопки. Это хороший признак того, что вы должны начать использовать массивы. Объявите один массив вместо нескольких переменных:
var totals = Array(repeating: 0, count: <however many buttons you have>)
Затем присвойте каждой из ваших кнопок различный tag
. Вы также можете установить это в раскадровке. Первая кнопка будет иметь тег 0, вторая кнопка будет иметь тег 1 и т. Д.
В longPress
, получите кнопку, на которую нажали gesture.view
, и получите тег. Тег - это индекс массива, который вы должны увеличить:
if let howMuch = textField.text {
self.totals[gesture.view!.tag] += Int(howMuch)! // Note: you should probably unwrap the Int? safely
self.viewWillAppear(true) // Note: you shouldn't really call this yourself
}