当前位置:  开发笔记 > IOS > 正文

如何在swift中使用xib子类化自定义Cell类

如何解决《如何在swift中使用xib子类化自定义Cell类》经验,为你挑选了0个好方法。

我遇到了简单的问题,无法找到任何解决方案.

MyCell.xib有文件所有者MyCell : UITableViewCell类.

我这样用它:

viewDidLoad方法:

 let nib = UINib(nibName: "MyCell", bundle: nil)
 self.tableView.register(nib, forCellReuseIdentifier: "myIdentifier")

tableView cellForRowAt方法:

 let cell = tableView.dequeueReusableCell(withIdentifier: "myIdentifier", for: indexPath) as? MyCell

它运作良好.

我将我的类子类化为添加一些新方法:

 class SuperCell : MyCell {
      func coolMethod {
           print("cool")
      }
 }

并尝试使用它:

let cell = tableView.dequeueReusableCell(withIdentifier: "myIdentifier", for: indexPath) as? SuperCell

它返回 nil

我怎样才能使它工作?

我尝试在InterfaceBuilder中使用标识符myIdentifier和类创建原型单元格SuperCell,但它没有帮助.

我为什么需要它

我只想对不同的单元类使用相同的视图(xib).

在我的情况下,我有MyCell视图(xib)的公共cell().MyCell完全描述字段(IBOutlets).此外,我想创建一些子类的另一个单元类MyCell,但它们将提供这些IBOutlet的一些行为.例如,FirstMyCell : MyCell将有方法setFieldsFrom(objectOne: ObjectOne),SecondMyCell : MyCell并将有另一种方法setFieldsFrom(anotherObject: ObjectAnother).

当然,我可以将这两种方法添加到我的MyCell课程中,但它会是不洁净的.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有