Как обработать несколько делегатов

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

Мой вопрос, контроллер представления должен реализовать всех делегатов? или есть ли некоторый способ, которым я могу выделить код в различные файлы (не имея необходимость делать, майор реструктурирует или переписывает)?

Вот все делегаты, которых я реализую:

@interface MyView : UIViewController <UIScrollViewDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UIActionSheetDelegate, MFMailComposeViewControllerDelegate>
7
задан mac_55 19 March 2010 в 01:52
поделиться

1 ответ

Нет проблем. Решение - категории Objective-C. Вы можете поместить это в отдельный исходный файл:

#import "MyView.h"
@implementation MyView (UIScrollViewDelegate)
// scroll view delegate method implementations go here
@end

Хорошее соглашение - назвать этот файл «MyView + UIScrollViewDelegate.m». Определяемые здесь методы будут вести себя так же, как если бы они были определены в «MyView.m».

Имя категории не обязательно должно совпадать с названием протокола. Вы можете сделать это с помощью любого набора методов и использовать любое название категории, которое вам нравится.

12
ответ дан 6 December 2019 в 21:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: