gpt4 book ai didi

ios - 从模型中删除 NSObject

转载 作者:可可西里 更新时间:2023-11-01 00:56:44 24 4
gpt4 key购买 nike

我在 Swift 中创建了一个名为 infoModel 的文件。这用于将信息从一个 ViewController 传递到另一个,信息写在标签中。这非常有效,但我希望能够删除该信息,或者至少将其从标签中删除。

我曾尝试设置 label = nil,但当我更改为不同的 viewController 并返回时,信息会弹出。

我应该如何删除数据?

代码信息模型:

import UIKit

class infoModel: NSObject {
var info: String = ""
var info2: String = ""
var info3: String = ""
var info4: String = ""

func currentInfo() -> String {
//return a string with the current info
return info + "" + info2 + "" + info3 + "" + info4 + ""
}
}

在 View Controller 中:

class collectViewController: UIViewController {
var myInfo = infoModel()

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
infoLabel.text = myInfo.currentInfo()
}
}

这是我要从中删除的 infoLabel。

*编辑:该应用正在收集用户的信息。它这样做的方式很简单,就是用户按下一个/一些按钮,代表该特定用户的合适值。然后信息显示在不同的 View Controller 中。如果用户按错了按钮,我希望他们能够删除/删除信息并重新开始。 removebutton 与 infoLabel 位于同一 View Controller 中。当所有信息都正确时,用户然后按下另一个写入 Firebase 数据库的按钮。

所以我的目标是用户能够删除/删除信息,然后重新开始。

最佳答案

不要将初始值设置为 myInfo,使其成为可选值:

 var myInfo: infoModel?

infoLabel.text = myInfo?.currentInfo()

现在如果没有模型,什么都不会设置。

此外,您可以使用以下方法自动更新标签:

var myInfo: infoModel? {
didSet {
_ = self.view // load the view if not loaded
infoLabel.text = myInfo?.currentInfo()
}
}

现在只需设置 myInfo = nil 即可清除标签。

关于ios - 从模型中删除 NSObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45614822/

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