Есть ли оператор if для показа / скрытия метода в objC? - PullRequest
0 голосов
/ 06 мая 2011

Я использую один и тот же экземпляр uiviewcontroller в разных вкладках.в viewcontroller есть подходящее представление.в экземпляре firstviewController я не хочу редактировать uitableview.во втором я использую режим редактирования для просмотра таблицы.вот почему я хочу показать или скрыть этот метод:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {

возможно ли сделать оператор if следующим образом:

#if (editingOK)
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
....some codes
}
#endif

редактирование OK - это свойство BOOL.

если вы спросите, почему я этого хочу, потому что, если пользователь проводит по ячейке, отображается кнопка «Удалить».я просто хочу, если мое редактирование ОК = ДА.

Ответы [ 2 ]

1 голос
/ 06 мая 2011

Синтаксис #if/#endif используется для условной компиляции: он позволяет вам изменять вашу программу в время компиляции в зависимости от конфигурации сборки. Прочтите о препроцессоре C, чтобы узнать больше.

Если вы, как вы говорите, используете один и тот же объект экземпляр в качестве делегата различных UITableViews, у вас должен быть какой-то способ определить, с какой таблицей вы имеете дело.

Что вам нужно сделать, это реализовать дополнительный метод:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath

Этот метод вызывается, когда пользователь проводит по ячейке, и вы можете решить, должна ли кнопка удаления появляться или нет, а затем вернуть соответствующую UITableViewCellEditingStyle константу.

1 голос
/ 06 мая 2011

Не редактируется ли редактируемость вызовом метода setEditing UITableViewController?Таким образом, вы можете установить это в зависимости от того, хотите ли вы включить редактирование, без этого #ifdef ugliness.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...