2

У меня есть контроллер просмотра со списком категорий, который находится в UITableView. Я нажимаю этот контроллер просмотра в трех других viewcontrollers.so те же функции tableView применяются, когда когда-либо называется, который я не хочу.Вызов одного вида контроллера, но нужны разные действия

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
self.index = indexPath; 
[retrieveName getItemName:[self.arrayForCategories objectAtIndex:indexPath.row]]; 
[self dismissModalViewControllerAnimated:YES]; 
[tableView reloadData]; 
} 

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

ответ

1

Вы можете подклассифицировать контроллер вида и включить этот метод в подкласс. Затем вы просто используете подкласс для контроллера представления, для которого вы хотите использовать эту функциональность.

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

2

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

+0

Может ли у вас код? – Sekhar

+0

Я полагаю ... но, не видя ваших контроллеров, я не могу показать вам, куда его поместить. Какую часть ответа вы не понимаете, как писать? –

+0

Я новичок в iphone development.so Я запутался в том, какое свойство должно быть установлено. Какой-нибудь примерный пример поможет! – Sekhar

Смежные вопросы