这是滥用还是滥用typedef枚举(与UITableView一起使用静态内容)

时间:2012-03-27 19:23:15

标签: objective-c ios enums struct typedef

有时候我需要创建一个类似于菜单的UITableView,并且在编译之前有一些已知的行。我通常会这样做:

typedef enum {
    PEPSI_SODA,
    COKE_SODA,
    DRPEPPER_SODA,
    DIET_SODA,
    COUNT_SODA
} SODAS;

然后我返回COUNT_SODA的{​​{1}}和numberOfRowsInSection方法的switch (indexPath.row) { case PEPSI_SODA: cell.textLabel.text = @"Pepsi" break; }。这是cellForRowAtIndexPath的“正确”使用还是有更好的方法来处理这些类型的情况?

2 个答案:

答案 0 :(得分:2)

它应该安全地工作。但是,我更喜欢使用字典,你可以将数据绑定在一起,你会更加灵活。

答案 1 :(得分:1)

创建一些类型的UITableViewController子类,您可以在构造函数上传递字典。这样,您始终可以在项目中重用相同的类。您的方法不可重用,并且需要花费很多精力才能扩展,因为您必须在各个地方更改内容以添加一行。