gpt4 book ai didi

ios - 在 swift 中使用数组元素作为 var UILabel 名称

转载 作者:行者123 更新时间:2023-11-30 11:56:39 25 4
gpt4 key购买 nike

我正在尝试构建一个键/值对,以供稍后引用。该数组将保存一个索引引用及其内部的值。其中一个值是与索引匹配的视频,另一个值是相应的标签名称(这样我可以在播放视频时更改颜色)。

这是我的代码:

class ViewController: UIViewController {

var videos = [5: ["urltovideo1", "locationOne"], 7: ["urltovideo2", "locationTwo"]]
var bg: UILabel!

@IBOutlet weak var locationOne: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
bg = videos[5]![1]
bg.backgroundColor = UIColor.green
}
}

我收到错误“无法将‘String’类型的值分配给‘UILabel!’类型”我尝试了“bg = UILabel(videos[5]![1])”并收到错误“参数标签 '(_:)' 与任何可用的重载不匹配”

关于如何解决这个问题或更好的实现方法有什么想法吗?

最佳答案

这里有一个适合您的解决方案:

@objc var locationOne: UILabel!
@objc var locationTwo: UILabel!
var videos = [5: ["urltovideo1", "locationOne"], 7: ["urltovideo2", "locationTwo"]]
var bg: UILabel! = UILabel()

override func viewDidLoad() {
super.viewDidLoad()

if let bg = self.value(forKey: videos[5]![1]) as? UILabel {
bg.backgroundColor = UIColor.green
}
}

@objc 是使 self.value(forKey:) 正常工作所必需的 - 您必须为要通过此方法访问的每个属性添加它。

关于ios - 在 swift 中使用数组元素作为 var UILabel 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47744463/

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