gpt4 book ai didi

ios - Swift 配置自定义单元格

转载 作者:行者123 更新时间:2023-11-28 11:07:54 26 4
gpt4 key购买 nike

我在 uitableview Controller 中有这段代码:

var results: [Item] = []
...
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("OrderCell") as! OrderTableViewCell!
cell.item = results[indexPath.row]
return cell
}

和 OrderTableViewCell.swift:

class OrderTableViewCell: UITableViewCell {


var item: Item! {
didSet {
self.setupCell()
}
}

@IBOutlet var itemNo: UILabel!
@IBOutlet var itemPrice: UILabel!

override func awakeFromNib() {
super.awakeFromNib()
}

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

func setupCell() {
itemNo.text = order.document_no
itemPrice.text = order.sum
}

}

现在,我需要知道这是设置单元格的好方法(使用 didSet),还是最好填写此字段 itemNoitemPrice 来自 uitableview Controller ?

最佳答案

恕我直言,这比向您的 UITableViewController 添加依赖于 View 的逻辑要好。

iOS 应用程序经常使用“模型- View - Controller ”模式,您在此处找到了该模式。虽然这种模式的细节可能有所不同,但通常认为具有“松散耦合”的组件是一件好事。这意味着, Controller 不应该关心哪些表格单元格( View )标签显示了哪些模型信息。

此外,将您的逻辑像这样封装在 View 中,这样您就可以在将来清楚地观察 Item(您的模型)的更新(完全消除额外的 Controller 交互的需要)。您可以通过诸如 Key-Value Observing 之类的方式来完成这种自动更新。

关于 MVC 的维基百科页面有一个很好的图形来解释组件通常如何交互。

来源:https://en.wikipedia.org/wiki/Model–view–controller#Description

关于ios - Swift 配置自定义单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36704637/

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