从VC到UILabel的出口无效。奥特莱斯无法连接到重复内容

时间:2017-08-02 19:38:40

标签: ios swift swift3

我正在开发一个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.
}


}

error image

2 个答案:

答案 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]