如何解决快速,如何使用结构的唯一实例来实现tableView?
class AlimentObjectTronque {
var aRetinol : Float = 0
var aBetacarotene : Float = 0
var vitamineC : Float = 0
var vitamineB1 : Float = 0
var calcium : Float = 0
var omega3 : Float = 0
init(aRetinol: Float,aBetacarotene: Float,vitamineC: Float,vitamineB1: Float,calcium: Float,omega3: Float) {
self.aRetinol = aRetinol
self.aBetacarotene = aBetacarotene
self.vitamineC = vitamineC
self.vitamineB1 = vitamineB1
self.calcium = calcium
self.omega3 = omega3
}
convenience init() {
self.init(aRetinol: 0,aBetacarotene: 0,vitamineC: 0,vitamineB1: 0,calcium: 0,omega3: 0)
}
}
并且我需要在tableView的每一行中放置该结构实例的属性。
func tableView(_ tableView: UITableView,numberOfRowsInSection section: Int) -> Int {
return // ????
}
func tableView(_ tableView: UITableView,cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "CellFind",for: indexPath) as? AlimentToAddCell else {
return UITableViewCell() }
// ????
return cell
}
我需要知道如何在tableview的每一行中放置实例的属性。
解决方法
如果要在表视图中显示一个实例的属性,请使用静态单元格
-
在Interface Builder中,在表视图的Attributes Inspector的Content中选择
Static Cells
。 -
将六个单元格拖到画布中
-
在控制器中,创建六个
UILabel
插座,并将它们分别连接到单元格的文本标签上,例如@IBOutlet var aRetinolLabel : UILabel! @IBOutlet var aBetacaroteneLabel : UILabel! ...
-
使用结构而不是类并删除所有初始化程序,即可免费获得成员初始化程序
struct AlimentObjectTronque { var aRetinol : Float var aBetacarotene : Float var vitamineC : Float var vitamineB1 : Float var calcium : Float var omega3 : Float }
-
还删除对
UITableViewDataSource
和UITableViewDelegate
及其相关方法的符合性 -
将值直接分配给标签。
let alimentObject = AlimentObjectTronque(aRetinol: 2.0,aBetacarotene: 3.0... aRetinolLabel.text = String(alimentObject.aRetinol) aBetacarotene.text = String(alimentObject.aBetacarotene) ...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。