我如何迅速将一个细胞出列?

时间:2017-02-24 16:03:13

标签: ios swift uitableview

' NSInternalInconsistencyException',原因:'无法使用标识符eventCell对单元格进行出列 - 必须为标识符注册一个nib或类,或者在故事板中连接一个原型单元格'

继承人的代码

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {// this sets the title and subtitle to the Title and Location in the given EventPlan
    let cell = tableView.dequeueReusableCell(withIdentifier: "eventCell ", for: indexPath) as UITableViewCell

    cell.textLabel?.text = eventsArray[indexPath.row].title
    cell.detailTextLabel?.text = eventsArray[indexPath.row].location

    return cell        
}


// here's my code for eventplan
class EventPlan : NSObject {
    var title:String
    var location:String

    init(tits: String, locs: String){
        self.title = tits
        self.location = locs
    }       
}

let event = EventPlan(tits: "Wise BDAY", locs: "UVA-Wise")

我知道我应该在我的主要故事板中将单元格标识符标记为eventCell,但我仍然得到错误。我没有正确连接吗?

2 个答案:

答案 0 :(得分:1)

通常,您要在故事板中设置原型单元格,并在故事板中设置重用标识符。如果你这样做,你就不需要任何代码。

如果你在nib文件中定义你的单元格,请参阅上面的Sandeep和Naveed的答案。 (请注意,您需要在两个答案中编辑" nibName"参数以使用您的笔尖名称。

答案 1 :(得分:0)

您必须使用表格视图注册单元格。我通常在viewDidLoad中进行。

// Swift 2
tableView.registerNib(UINib(nibName: "NIB_NAME", bundle: nil), forCellReuseIdentifier: "eventCell")

// Swift 3
tableView.register(UINib(nibName: "NIB_NAME", bundle: nil), forCellReuseIdentifier: "eventCell")