【发布时间】:2019-08-28 04:06:40
【问题描述】:
这里是初学者,
我正在编写一个随机匹配 DOTA 2 英雄的项目。
我目前正在使用 Int.random 将英雄图像从 fighters 数组中拉到 ImageViews 中。
不过,我现在正在尝试在图像下方实现一个相应的标签,以显示当前在 ImageView 中的英雄名称。
我最初尝试在 fighters["1"] 中为 fighterOne 执行此操作,这将是龙骑士。
我尝试了各种“if”语句,但似乎都不起作用。我也搜索了论坛和文档,但在任何地方都找不到解决方案。
@IBOutlet weak var fighterOne: UIImageView!
@IBOutlet weak var matchButton: UIButton!
@IBOutlet weak var fighterOneName: UILabel!
let fighters = ["1","2","3","4","5","6","7","8","9","10","11","12",]
var randomIndex1: Int = 0
override func viewDidLoad() {
super.viewDidLoad()
updateFighterName()
updateFighters()
}
///// FUNCTIONS /////
func updateFighterName() {
if fighterOne.image == UIImage(named: "1") {
fighterOneName.text = "Dragon Knight"
} else {
fighterOneName.text = "Wrong"
}
}
func updateFighters() {
randomIndex1 = Int.random(in: 0...11)
fighterOne.image = UIImage(named: fighters[randomIndex1])
}
我无法理解我从中得到的结果。当我运行应用程序时,偶尔会显示“龙骑士”,但是,它不在正确的英雄形象下,它的显示时间非常不稳定,而且据我所知似乎没有逻辑显示顺序。
任何帮助将不胜感激,如果您需要更多信息,请告诉我!
【问题讨论】: