tableView

时间:2015-09-27 09:13:34

标签: ios swift uitableview

我是从一组不同的继承类创建一个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 = ""
}

1 个答案:

答案 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 {
}
...

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