Я создаю приложение для отслеживания результатов. У меня есть структура
*/
var teamA_name: String!
var teamB_name: String!
var teamA_points: [Int] = []
var teamB_points: [Int] = []
/*
- Add points to the teams
*/
mutating func addPoints(teamA: Int, teamB: Int){
self.teamA_points.append(teamA)
self.teamB_points.append(teamB)
}
, как вы можете видеть, у меня есть два массива типа int, которые будут удерживать пользовательские очки. У меня есть контроллер с двумя табличными представлениями, чтобы показать массив точек, добавленных пользователем, я собираюсь пропустить часть кода, так как я знаю, что не нужен для моей проблемы, это мой главный ViewController, где таблицы будут показывать точки
class GameScoreViewController: UIViewController {
/*
- Properties
*/
var gameScore = GameScore()
override func viewDidLoad() {
super.viewDidLoad()
//- Setup delegates & datasources
teamA_tableview.delegate = self
teamA_tableview.dataSource = self
teamB_tableview.delegate = self
teamB_tableview.dataSource = self
// - Button configuration
addPointsButton.layer.cornerRadius = 5
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "toPopUp"{
let popUpView = segue.destination as! PopUpViewController
// this is where i call my popup view
}
}
}
}
Теперь вот где моя проблема возникает, когда я обращаюсь к своему всплывающему окну, и пользователь вводит необходимый счет и нажимает, готово, данные не добавляются в массиви мое табличное представление не будет перезагружаться, я пробовал много разных способов, используя обратные вызовы, делегаты, я пробовал userdefaults, так как не очень важные данные, но, кажется, ничего не работает, и я застрял, это моя кнопка контроллера всплывающего представлениядействие, где это должно произойти, я оставил textfield.text в параметре для справки
@IBAction func addBtnPressed(_ sender: Any) {
// this is the func to append data to the array
gameScore.addPoints(teamA: Int(pointsTextField.text!)!, teamB: 0)
self.dismiss(animated: true, completion: nil)
//after dismissed it should reload table view or insert row with the user entered score
}
любая помощь будет оценена, спасибо.