标签插座无效

时间:2015-05-12 18:20:49

标签: ios xcode swift parse-platform xcode6

我想声明我的表中原型单元格中的4个标签,以便我可以将所有数据从Parse检索到标签中。如图所示,有4个标签,我希望每个标签都有自己的插座,但它显示出无效的插座错误。 This is the prototype cells and contain 4 labels in it.

我使用Parse来做,因此原型单元格的超类将是PFTableViewCell。

class TimetableViewController: PFQueryTableViewController, UITextFieldDelegate{

    @IBOutlet weak var lblTime: UILabel!

我得到的错误就是这样......

  

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

因此,我该怎么做才能避免这个问题?

3 个答案:

答案 0 :(得分:4)

您需要创建UITableViewCell的自定义子类,并在那里声明您的IBOutlets。然后在整个主视图控制器中使用该子类而不是通用UITableViewCell

重申:tableview单元格内的元素属于单元格,而不属于包含所有内容的视图控制器。

编辑: 在您的视图控制器中,您将符合UITableView的委托&数据源协议(并实现与您要完成的任务相关的任何方法)。您将在以下数据源方法中处理填充(初始)单元格数据:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("cellIdentifier", forIndexPath: indexPath) as! TimetableViewCell
    // TODO: setup cell data here
    return cell
}

答案 1 :(得分:1)

即时生成单元格。控制器和单元之间没有真正的连接,因此您无法将单元中的某些东西连接到控制器。具体来说,通常您有多个相同类型的单元格("重复内容")并且您不能将所有标签连接到父控制器中的一个插座。

通常,您要做的是为单元格声明一个类,例如

{{1}}

并添加插座。

答案 2 :(得分:0)

enter image description here 对于那些从视图控制器中删除IBOutlet代码后仍然存在错误的人,您仍然需要右键单击它并删除旧连接。删除后,错误消息将消失。

这清除了我的所有错误。希望也会帮助别人。