Swift

“要显示清单当然就是拿Table来显示啰”约翰忍不住心里的得意

“用讲的就能写出来我也是醉了,废话少说”同事一如往常的严厉说道


兴高采烈的用了TableView + TableCell

又是刻在Storyboard上,又是新增一个Xib,有点麻烦

在TableView里面的Cell一般来说(其实也只是就我的经验来看)有两个做法,

一是在你的TableView里面再放一个TableCell,然后就把你要放的数据都刻在Storyboard里面,就像下面这样

当然!Cell里面的UI compoments也要把连结绑好

这样好处就是方便,缺点就是ui的部分不好 reuse

另一个做法,就是当你新增TableCell这个类时,同时新增一个Xib,用起来会像这样

你只要拉一个空的TableView进到你的Storybord的View里面就行了,剩下的就在Code里面去处理

最后,突然想到,你还可以完全用Code去刻UI和绑定事件,但这不太符合MVC的精神以下省略…

过程中遇到了“unable to dequeue a cell with identifier  'Cell' must register a nib or a class for the identifier or connect a prototype cell in a storyboard”这个问题

找了一些文章,查到是因为这个地方没有加上ID

否则这个地方会错(因为id根本找不到啊,错误原因说的很清楚了)

public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell : MyCell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! MyCell
    let SingleData : MyType = self.myDatas[indexPath.row]
    cell.setInfo(MyType: SingleData)
    return cell
}

补上了之后Table就可以正常使用了

总之,最后成功了解决这个小问题,再和我同事好好炫耀一番!!!