2013-02-16 3 views
0

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

Как хорошо обычная практика иметь один метод, то есть метод делегата вызывается всеми экземплярами подкласса uiimageview?

Делегатом будет контроллер вида.

В целом, это хорошая практика?

+0

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

ответ

2

Один способ лучше. Этот вариант будет хорошим вариантом. - (void)imageViewTouched:(UIImageView *)sender

Вы должны следовать принципу DRY (не повторять себя) и устранить дублирование кода в своем приложении. Поэтому у вас должны быть отдельные методы, если они имеют отдельную логику. У вас должен быть один метод, если один и тот же тип логики выполняется для разных отправителей.

+0

thx so much, не знал, что – stackOverFlew

+0

Я немного обновил свой ответ, так как использование одного метода не всегда имеет значение :) –

+1

У вас все еще может быть один метод с условной логикой, если вы передадите ему некоторую ссылку или информацию об объекте он делегирует. У NSNotification есть эта способность с необязательным параметром словаря пользовательской информации. – uchuugaka

1

Абсолютно. Передайте отправителю, чтобы вы могли принимать решения на основании того, кто отправил вам сообщение (например, tableView:cellForRowAtIndexPath:), и у вас есть хорошая реализация шаблона делегирования.

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