Является ли это злоупотреблением или неправильным использованием перечисления typedef (используется с UITableView со статическим содержимым) - PullRequest
1 голос
/ 27 марта 2012

Иногда мне нужно создать UITableView, который напоминает меню и содержит строки, известные до компиляции.Обычно я делаю это:

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

Затем я возвращаю COUNT_SODA для numberOfRowsInSection и switch (indexPath.row) { case PEPSI_SODA: cell.textLabel.text = @"Pepsi" break; } для cellForRowAtIndexPath метода.Это «правильное» использование typedef enum или есть лучший способ приблизиться к подобным ситуациям?

Ответы [ 2 ]

2 голосов
/ 27 марта 2012

Это должно безопасно работать. Тем не менее, я бы предпочел использовать словари, там вы могли бы связать данные вместе, и вы были бы более гибкими.

1 голос
/ 27 марта 2012

Создайте некоторый тип подкласса UITableViewController, который вы можете передать в конструктор словарь. Таким образом, вы всегда можете использовать один и тот же класс в своих проектах. Ваш метод не предназначен для повторного использования и требует больших усилий для расширения, так как вам нужно изменить вещи в разных местах, чтобы добавить строку.

...