gpt4 book ai didi

ios - 当新的 View Controller 被激活时,变量数据被删除

转载 作者:行者123 更新时间:2023-12-01 16:11:55 25 4
gpt4 key购买 nike

我有一个使用多个 View Controller 的应用程序。其中一个 View Controller 有一堆向用户请求信息的文本字段。然后将此信息传递给我制作的名为“Variables.swift”的 .swift 文件。在这个 swift 文件中,我创建了一个名为 Variables 的结构,并在其中创建了所有变量。出于某种原因,当我将数据分配给变量时,当我浏览其他 View Controller 时,数据会被删除。

换句话说,这样看:

View Controller :A -> B -> C -> D -> E -> F ...信息在 View Controller “B”处收集,用户继续通过其他 View Controller (执行委派任务),然后他们在 View Controller “B”中输入的信息应该显示在 View Controller “F”中。出于某种原因,当我到达 View Controller F 时,变量完全是空的......数据不再存储在其中 - 只是消失了。

任何帮助将不胜感激......这非常令人沮丧。我正在通过 prepareForSegue 传递信息。

示例(忽略评论):

   override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

print("The info segue was executed.")
// let vc = autoPDFBuilder()

var variables = Variables()

if clientTextField.text != nil {
// vc.client = clientTextField.text!
// print(vc.client)
variables.client = clientTextField.text!
}
if claimNumberTextField.text != nil {
// vc.claimNumber = claimNumberTextField.text!
variables.claimNumber = claimNumberTextField.text!
}
if fileNumberTextField.text != nil {
// vc.fileNumber = fileNumberTextField.text!
variables.fileNumber = fileNumberTextField.text!
}
if lossDateTextField.text != nil {
// vc.dateOfLoss = lossDateTextField.text!
variables.dateOfLoss = lossDateTextField.text!
}
if insuredTextField.text != nil {
// vc.insured = insuredTextField.text!
variables.insured = insuredTextField.text!
}
if claimantTextField.text != nil {
// vc.claimant = claimantTextField.text!
variables.claimant = claimantTextField.text!
}
if picsByTextField.text != nil {
// vc.picsBy = picsByTextField.text!
variables.picsBy = picsByTextField.text!
}
if dateTakenTextField.text != nil {
// vc.dateTaken = dateTakenTextField.text!
variables.dateTaken = dateTakenTextField.text!
}

}

最佳答案

尽管您正在初始化变量并将数据填充到其中,但您似乎没有将其传递给此处的目标 View Controller 。你需要像这样传递它:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
var variables = Variables()
// do data population here
if let controller = segue.destination as? ViewControllerC {
controller.variables = variables
}
}

关于ios - 当新的 View Controller 被激活时,变量数据被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62350861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com