我正在开发一个todo列表应用程序,它可以在Swift中使用表格视图。表视图有一个名为titleLabelOutlet
的UILabel。当我构建应用程序时,我收到一条错误,上面写着The titleLabelOutlet outlet from the FirstViewController to the UILabel is invalid. Outlets cannot be connected to repeating content.
我之前从未收到此错误。我如何解决它?这是我的代码:
import UIKit
var phoneNumberList = [String]()
var titleFieldList = [String]()
class FirstViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var titleLabelOutlet: UILabel!
@IBOutlet weak var phoneNumberLabelOutlet: UILabel!
@IBOutlet weak var myTableView: UITableView!
public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return (phoneNumberList.count)
}
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "cell")
phoneNumberLabelOutlet.text = phoneNumberList[indexPath.row]
titleLabelOutlet.text = titleFieldList[indexPath.row]
return(cell)
}
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath)
{
if editingStyle == UITableViewCellEditingStyle.delete
{
phoneNumberList.remove(at: indexPath.row)
titleFieldList.remove(at: indexPath.row)
myTableView.reloadData()
}
}
override func viewDidAppear(_ animated: Bool) {
myTableView.reloadData()
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
答案 0 :(得分:0)
您的商店应该是单元格类而不是viewcontroller,因为标签位于单元格内 在代表团的行列中,您必须得到这样的商店 `让cell = tableView.dequeueReusableCell(withReuseIdentifier:cellIdentifier“,for:indexPath)为!TableViewCellClass
cell.lbloutlet.text =“任何文字” 返回单元格
`
答案 1 :(得分:0)
创建 CustomTableCell 继承 UITableViewCell 。
在单元格中添加标签并连接到 phoneNumberLabelOutlet & CustomTableCell类中的 titleLabelOutlet 。
使用CustomTableCell为UITableViewCell提供cellForRowAtIndex函数。 现在您可以将标签的值设置为
cell.phoneNumberLabelOutlet.text = phoneNumberList [indexPath.row] cell.titleLabelOutlet.text = titleFieldList [indexPath.row]