微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

快速,如何使用结构的唯一实例来实现tableView?

如何解决快速,如何使用结构的唯一实例来实现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
    }
    
  • 还删除对UITableViewDataSourceUITableViewDelegate及其相关方法的符合性

  • 将值直接分配给标签。

    let alimentObject = AlimentObjectTronque(aRetinol: 2.0,aBetacarotene: 3.0...
    aRetinolLabel.text = String(alimentObject.aRetinol)
    aBetacarotene.text = String(alimentObject.aBetacarotene)
    ...
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。