Как уменьшить дублирование кода в моем коде Objective-C?

Я понимаю, что это слишком широкий вопрос, но я считаю, что мой код Objective-C очень повторяющийся. Я думаю, что новая функция блоков поможет, но я пока не могу предположить, что все мои пользователи используют iOS 4.

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

Например, если у меня есть UITableViewController, а у меня есть несколько подклассов, которые используют несколько одинаковых строк, я мало что могу сделать с наследованием. Если подкласс добавляет дополнительную строку (или несколько строк и / или если они находятся в середине таблицы, а не в конце), индексация прерывается, и большинство методов делегата в суперклассе больше не работают - я должен повторно реализовать их в подклассе.

Опять же, я понимаю, что это расплывчато, но какие шаблоны должны появиться у людей, чтобы они не возникали?

Спасибо!

5
задан Bill 9 March 2011 в 15:10
поделиться