Я разработал несколько приложение 'до сих пор. Сейчас я пишу новый, и в этом проекте я хочу, чтобы код был очень чистым, чтобы было очень легко найти методы.
Я хочу начать с UIViewControllers , чье представление имеет UITableView в качестве подпредставления.Я хочу иметь файл с именем DetailViewController
для всех функций, которые ему напрямую принадлежат. Другой файл с именем DetailViewController + Protocols
должен содержать категорию класса выше и все эти методы делегирования UITableView .
Можно ли сделать что-то подобное? Я хочу, чтобы мой код был чистым и разбивал его на несколько файлов.
РЕДАКТИРОВАТЬ
DetailViewController.h
@interface DetailViewController : UIViewController
... Some Properties
... Some Methods
@end
DetailViewController.m
#import "DetailViewController.h"
@implementation DetailViewController
... Some Synthesizes
... Some Methods
@end
DetailViewController + Protocols.h
@interface DetailViewController (Protocols) <UITableViewDelegate, UITableViewDataSource>
@end
DetailViewController + Protocols.m
@implementation DetailViewController (Protocols)
- (NSINteger)numberOfSections
{
return ...;
}
- (NSInteger)numberOfRowsInSection:(NSInteger)section
{
if (section == 0)
return ...;
return ...;
}
...
@end
Но затем Xcode показывает предупреждение о том, что некоторые из методов делегата не реализованы в DetailViewController. Я также пробовал это с импортированием DetailViewController + Protocols.h в DetailViewController.h . Без изменений.
Затем я попробовал, игнорируя предупреждения, и увидел: сработало! Но почему? Разве это не должно работать без этих предупреждений?