自定义框架中的公共类

时间:2017-07-27 08:47:04

标签: ios xcode

在我的自定义框架中,如果我想将一些类/方法暴露给swift或objective-c,我必须将它们声明为public,但是使用此方法,类和方法在框架头中公开。 有没有办法阻止将方法暴露给框架标题?

1 个答案:

答案 0 :(得分:1)

如果你的框架是用Swift编写的,那么使用Access Levels - public,open,internal,file-private或private - documentation。您可能想要使用内部

如果您的框架是用Objective-C编写的,则可以使用前向声明。而不是写

// ClassA.h

#import "ClassB.h"

@interface ClassA : NSObject

- (void)doSomethingWithClassB:(ClassB*)obj;

@end

// ClassA.h

@class ClassB;

@interface ClassA : NSObject

- (void)doSomethingWithClassB:(ClassB*)obj;

@end

// ClassA.m

#import "ClassB.h"

如果您的ClassA未从ClassB继承,则可以在您的ClassB标题中转发 ClassA如果您没有调用ClassB中的任何方法,您只需使用指向它的指针,因此编译器不需要知道ClassB的完整签名。相反,您承诺在实际尝试使用它之前将包含ClassB的完整定义。