gpt4 book ai didi

ios - 尝试设置类标签属性时获取 Nil | UI表格 View

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

当我运行此代码时,在解包可选值时,我总是意外地发现 nil。

我想做的是获取对象数组中的第一个属性,因此我使用 .map 获取第一个属性“workoutName”

然后我尝试将 CellData 类中的标签设置为该值,但一直发现它为零。

我感谢我能得到的所有帮助。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

var workoutName = workouts.map { $0.workoutName }

let cell = CellData()

cell.workoutNameLabel.text! = workoutName[indexPath.row]
return cell

}

单元数据类

import UIKit

class CellData: UITableViewCell {

@IBOutlet weak var workoutNameLabel: UILabel!
@IBOutlet weak var numberOfSetsNumberLabel: UILabel!
@IBOutlet weak var numberOfRepsNumberLabel: UILabel!

override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}

override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)

// Configure the view for the selected state
}

}

最佳答案

我会将类变量设置到 CellData 类中,并将其设置在 awakeFromNib 中,因为 awakeFromNib 在 cellForRow 完成之前不会发生,因此您几乎可以 100% 确定标签将为 nil.. 试试这个:

import UIKit

class CellData: UITableViewCell {

//someLableValue string
var labelValueText: String?

@IBOutlet weak var workoutNameLabel: UILabel!
@IBOutlet weak var numberOfSetsNumberLabel: UILabel!
@IBOutlet weak var numberOfRepsNumberLabel: UILabel!

override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
workoutNameLabel.text = labelValueText
}

override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)

// Configure the view for the selected state
}

}

然后你只需在 UITableViewController 类的 cellForRowMethod 中设置变量 labelValueText

关于ios - 尝试设置类标签属性时获取 Nil | UI表格 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45404810/

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