我是从一组不同的继承类创建一个tableView,但我似乎无法弄清楚将它们全部添加到tableView中的最佳方法是什么,而不创建多个数组,不理想吗?
让我们举一个经典的例子,我怎样才能将多个不同的cat和dog对象添加到tableView中?这样做的最佳方式是什么?
class Pet {
var id: Int = 0
var name: String = ""
}
class Dog: Pet {
var Type: String = ""
}
class Cat: Pet {
var Type: String = ""
}
答案 0 :(得分:0)
最直接的方法是在您的UI图层中反映您的模型。 像:
class PetTableViewCell {
}
class DogTableViewCell: PetTableViewCell {
}
class CatTableViewCell: PetTableViewCell {
}
然后在表格视图中使用它们:this answer显示UITableView
另一种方法是定义一个协议,该协议描述了要在单元格中显示的模型类所需的行为,并在模型类中实现它(或继承它)。
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 {
}
...
正确解决方案的选择实际上取决于您的特定要求。