2017-01-31 6 views
0

Я работаю над проектом фреймворка, где у меня есть вспомогательный класс, реализованный из базового класса. Когда я готовлю билд я просто делаю подклассы общественность, но не базовый класс, который приводит следующую лексическую ошибку:Не создавайте класс базы при построении объекта c framework

Lexical or Preprocessor Issue Group

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

Вот определение базового класса

@interface BaseClass : NSObject 
- (void)baseFunction; 
@end 

определение подклассов:

@interface SubClass : BaseClass 
- (void)subFunction; 
@end 

и заголовочный файл:

#import <UIKit/UIKit.h> 
#import <FileUtil/SubClass.h> 

Пожалуйста, дайте мне знать, как я могу преодолеть ситуация. Спасибо заранее

ответ

0

Вам нужно добавить это объявление функции в файл @implementation с Extension, чтобы он скрывался от другого пользователя, который будет использовать вашу фреймворк.

BaseClass.h 

@interface BaseClass : NSObject 
@end 

BaseClass.m 

@interface BaseClass() 
//its private method for out side class 
- (void)baseFunction; 
@end 

@implementation BUViewController 

@end 

Как в этом примере вы можете получить представление о том, как сделать частный метод скрытым от других.

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