我正在努力保存数据过程, 因为我的数据很小,所以我想保存在本地数据存储中。 我要安排时间表。
因为我只有35个按钮和标签(每个按钮和标签都配对了),所以我现在使用UIButton标签。我在使用其他本地数据“标签”时遇到问题。
我不愿意在全局swift文件(相同的swift文件)上创建新功能。但它无法调用标签,因为只有在按下UIbutton时才能使用标签。 我想不仅在UIbuttonPressed中使用viewDidLoad()上的标记属性。
override func viewDidLoad() {
if let items = UserDefaults.standard.array(forKey: "SubjectList") as? [String] {
subjectArray = items
UITextLabel**1**.text = subjectArray**[1-1]**
}
}
@IBAction func buttonPressed(_ sender: UIButton) {
var textField = UITextField()
let newItem = textField.text!
if sender.tag == 1{
self.subjectArray[sender.tag-1] = newItem
print("1")
}
UserDefaults.standard.set(self.subjectArray, forKey: "SubjectList")
}
答案 0 :(得分:2)
为所有配对的标签和按钮创建插座集合
@IBOutlet weak var allLbls:[UILabel]!
@IBOutlet weak var allBts:[UIButton]!
在viewDidLoad
if let items = UserDefaults.standard.array(forKey: "SubjectList") as? [String] {
subjectArray = items
subjectArray.indices?.forEach {
allLbls[$0].text = subjectArray[$0]
allBts[$0].tag = $0
}
}