有时候我需要创建一个类似于菜单的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
的“正确”使用还是有更好的方法来处理这些类型的情况?
答案 0 :(得分:2)
它应该安全地工作。但是,我更喜欢使用字典,你可以将数据绑定在一起,你会更加灵活。
答案 1 :(得分:1)
创建一些类型的UITableViewController子类,您可以在构造函数上传递字典。这样,您始终可以在项目中重用相同的类。您的方法不可重用,并且需要花费很多精力才能扩展,因为您必须在各个地方更改内容以添加一行。