首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >tableView中的多继承类

tableView中的多继承类
EN

Stack Overflow用户
提问于 2015-09-27 09:13:34
回答 1查看 319关注 0票数 0

我正在从一组不同的继承类创建一个tableView,但是我似乎无法找到将它们全部添加到tableView中的最佳方法,而不需要创建多个数组,这并不理想。

例如,让我们以一个经典的例子为例,我如何能够在一个tableView中添加多个不同的猫和狗对象?做这件事最好的方法是什么?

代码语言:javascript
运行
复制
class Pet {
    var id: Int = 0
    var name: String = ""

}

class Dog: Pet {
    var Type: String = ""
}

class Cat: Pet {
    var Type: String = ""
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-27 09:33:23

最简单的方法是在UI层中反映模型。比如:

代码语言:javascript
运行
复制
class PetTableViewCell {
}

class DogTableViewCell: PetTableViewCell {
}

class CatTableViewCell: PetTableViewCell {
}

然后在表视图中使用它们:this answer显示了在UITableView中使用两种不同的单元格类型

另一种方法是定义一个协议,该协议描述需要在单元格中显示的模型类的行为,并在模型类中实现它(或继承它)。

代码语言:javascript
运行
复制
protocol MyTableViewCellDisplayable {
    var Type: String
    var Pic: Image
    var Name: String
}

class MyTableViewCell {
    func displayObject(obj: MyTableViewCellDisplayable);
}

class Pet: MyTableViewCellDisplayable {
}

class Dog: Pet {
}

class Cat: Pet {
}
...

正确的解决方案的选择实际上取决于您的特定需求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32806322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档