Как я могу перемещать другую данные об одном классе?

Главным образом у меня есть опрос, который разделен на 4 ViewController что: "Paso1", 2,3 и 4, в каждом есть checkbox, который был бы должен сохранять стоимость booleano, я нуждаюсь в том, чтобы сохранять информацию о каждом классе, чтобы быть использованной в конце концов, чтобы загружать один viewController с результатом (например, если в 4 доказательствах он дал [True, True, True , True] он загрузит один viewController говоря "Поздравления", в противоположном случае else он загрузил бы один ViewController различный, поскольку он пробует снова.

Любая помощь или информация хорошо получена, большое спасибо в течение вашего времени.

1
задан 26.07.2016, 12:44
3 ответа

Одна soluciГіn может состоять в том, чтобы объявлять ссылку внутри каждого ViewController, и перед тем, как приказывать в следующий экран добавлять стоимость ответа относительно индекса шага, в котором ты находишься, и потом в следующий ViewController перемещать его эту договоренность с добавленной стоимостью для того, чтобы в конечном шаге ты смог читать всю вошедшую стоимость.

Другое серьезное решение создавать класс Синглтон, и там объявлять array, когда ты меняешь экрана получать инстанцию класса и добавлять стоимость ответа.

2
ответ дан 24.11.2019, 13:46
  • 1
    singleton функционировал совершенно, спасибо – elkin sepulveda 03.08.2016, 02:07

То, что quires возможно решать легко используя метод prepareForSegue каждого твой UIViewControllers если дело в том, что ты используешь один UINavigationController, как в следующем примере:

MyAwesomeStoryboard.storyboard

introducir la descripción de la imagen aquí

FirstViewController.swift

class FirstViewController: UIViewController {

    var myAwesomeVar: Bool = false

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    // MARK: - Navigation
    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if let identifier = segue.identifier where identifier == "SecondViewController" {
            guard let secondViewController = segue.destinationViewController as? SecondViewController else {
                return
            }
            secondViewController.myAwesomeVar = self.myAwesomeVar
        }
    }

}

SecondViewController.swift

class SecondViewController: UIViewController {

    var myAwesomeVar: Bool = false

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    // MARK: - Navigation
    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if let identifier = segue.identifier where identifier == "ThirdViewController" {
            guard let thirdViewController = segue.destinationViewController as? ThirdViewController else {
                return
            }
            thirdViewController.myAwesomeVar = self.myAwesomeVar
        }
    }
}

И я схватил последовательно для всех UIViewControllers что у тебя был.

1
ответ дан 24.11.2019, 13:46

Ты создаешь модель данных, которая была бы например struct с 4 стоимостью, который ты хочешь сохранять. Инстанции модель, может быть в первом драйвере. Ты делаешь что-нибудь в этом роде и стоимость ты это сохраняешь в Вашем сайте модели и перемещаешь модель следующий драйвер, relleneas и ты перемещаешь это третьего и такого до последнего, что у тебя будет модель, которая будет struct со всеми данными о каждом драйвере.

0
ответ дан 24.11.2019, 13:46