注册笔尖

时间:2015-06-23 09:38:57

标签: xcode swift uitableview custom-cell

我想使用带索引path.row的数组在View Controller文件中设置详细信息标签的值。

在上一篇文章中: [link] [1]

有人帮我建议使用

var nib = UINib(nibName: "YourCellSubclass", bundle: nil)
tableView.registerNib(nib, forCellReuseIdentifier: "cell")

然而我是新手使用它并遇到错误:

Cannot invoke registerNib with an argument list of type 'UINib, forCellReuseIdentifier: 'String'

1 个答案:

答案 0 :(得分:0)

我最好的猜测是,而不是:

var cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell

应该是:

var cell: YourSubClass = self.tableView.dequeueReusableCellWithIdentifier("cell") as YourSubClass

这在Xcode 7中编译:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! MyCellSubclass

    return cell
}

如果您有多种细胞,可以使用:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let aCell = table.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)

    if let myCell = aCell as? MyCellSubclass {

        return myCell
    }

    return aCell
}