gpt4 book ai didi

ios - UITableViewCell 中的 UILabel 返回 nil

转载 作者:行者123 更新时间:2023-11-29 05:29:57 25 4
gpt4 key购买 nike

我想在 UIViewController 中设置 UITableView。UITableView 有 UITableViewCells,它有一个 UILabel。

但是,UITableView.UILabels 返回 nil。

请查看以下代码和图像并分享您的想法。

提前谢谢您。

我正在使用 Swift5 开发这个。


import UIKit

class condimentTableCell: UITableViewCell {
@IBOutlet weak var condimentName: UILabel!
}

class SandwichViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate, UITableViewDataSource, UITableViewDelegate {

@IBOutlet weak var condimentTable: UITableView!
@IBOutlet weak var breadSelector: UIPickerView!

fileprivate let items:[product] = products().getData()
fileprivate let cart:cart = Registry.instance.liveCart

var itemNo: Int = 0
let condiments = ["Lettuce", "Mayo", "Mustard", "Purple Onions", "Tomato"]
let breads = ["Rye", "Sourdough", "Squaw", "Wheat", "White"]

override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "background.png")!)
self.breadSelector.dataSource = self
self.breadSelector.delegate = self
self.condimentTable.register(condimentTableCell.self, forCellReuseIdentifier: "condimentCell")
self.condimentTable.delegate = self
self.condimentTable.dataSource = self
}


func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return condiments.count
}

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 100
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell:condimentTableCell = tableView.dequeueReusableCell(withIdentifier: "condimentCell", for: indexPath) as! condimentTableCell
if (cell.condimentName == nil) {
print("nil")
} else {
cell.condimentName.text = condiments[indexPath.row]
}
print("----------------------------------------------")
return cell
}


func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return breads.count
}

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return breads[row]
}
}

simulator

print result

Storyboard-1

Storyboard-2

最佳答案

删除线

self.condimentTable.register(condimentTableCell.self, forCellReuseIdentifier: "condimentCell")

您正在断开 Storyboard与单元的连接。

详细说明参见https://stackoverflow.com/a/44107114/669586

关于ios - UITableViewCell 中的 UILabel 返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57699555/

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