【问题标题】:How to grab other local tag data in Swift?如何在 Swift 中获取其他本地标签数据?
【发布时间】:2019-04-12 13:51:00
【问题描述】:

我正在保存数据过程中, 因为我的数据很小,所以我想保存在本地数据存储中。 我想要一个制作时间表。

因为我有单个 35 个按钮和标签(每个按钮和标签都是配对的),所以我现在使用 UIButton 标签。我在使用其他本地数据“标签”时遇到问题。

我厌倦了在全局 swift 文件(相同的 swift 文件)上创建新功能。但它不能调用标签,因为标签只能在按下 UIbutton 时使用。 我想在 viewDidLoad() 上使用标签属性,而不仅仅是在 UIbuttonPressed 中。

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") 
        }  

【问题讨论】:

  • 我要在viewDidLoad()中抓取标签数据

标签: swift variables tags local


【解决方案1】:

为所有成对的标签和按钮创建插座集合

@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
   }
}

【讨论】:

  • 我有一个关于 [$0] 的问题。我想做的是,比如制定时间表。当我按下按钮并进行编辑时,可以更改按钮上的标签状态。 $0可以让它匹配在一起吗?
  • 哦,你的意思是我只需要在我的项目中添加这个对吗?
猜你喜欢
  • 2020-01-25
  • 2015-01-27
  • 2021-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多