Есть класс PlayerViewController с большим количеством методов, хочу разбить его на категории, но нет понимая как это сделать так чтобы подключая PlayerViewController.h были доступны методы из всех его категорий.
Как пробовал:
Создаю категорию Timer.
//
// PlayerViewController+Timer.h
//
@interface PlayerViewController (Timer)
- (void)testMethod;
@end
//
//PlayerViewController+Timer.m
//
#import "PlayerViewController.h"
#import "PlayerViewController+Timer.h"
@implementation PlayerViewController (Timer)
- (void) testMethod
{
NSLog(@"test");
}
@end
В основном классе пытаюсь вызвать теперь метод testMethod из категории:
//
// PlayerViewController.h
//
#import <Foundation/Foundation.h>
#import "PlayerViewController+Timer.h"
@interface PlayerViewController : UIViewController
@end
//
// PlayerViewController.m
//
#import "PlayerViewController.h"
@implementation PlayerViewController
- (void)viewDidLoad
{
[self testMethod];
}
@end
Ошибки:
/Users/user/Desktop/Projects/SplitClass/PlayerViewController+Timer.h:5:12: Cannot define category for undefined class 'PlayerViewController'
/Users/user/Desktop/Projects/SplitClass/SplitClass/PlayerViewController.m:11:11: No visible @interface for 'PlayerViewController' declares the selector 'testMethod'
Edit1: Конечный пример решенияgithub.com/nullproduction/SplitClass