如何在Swift中获取其他本地标签数据?

时间:2019-04-12 13:51:01

标签: swift variables tags local

我正在努力保存数据过程, 因为我的数据很小,所以我想保存在本地数据存储中。 我要安排时间表。

因为我只有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") 
        }  

1 个答案:

答案 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
   }
}