我编写了SDK,我的头文件MyClass.h
带有公共API。
某些方法不会像- (void)foo;
这样在标题中写入,因此用户无法使用它们。
但是我的其他课程使用方法foo
,但由于它未在MyClass.h
中注册 - 我也不能使用它。
因此,在每个想要调用方法foo
的类中,我写道:
@interface MyClass ()
- (void) foo;
@end
合法吗?我需要在其他3个类中编写相同的内容,它看起来很奇怪。
那么发布方法用于内部使用而不是公共API的最佳做法是什么?
1 个答案:
答案 0 :(得分:2)
创建一个新文件。使用“Objective-C文件”模板:
对于“文件”,输入“项目”。对于“文件类型”,选择“扩展名”。对于“Class”,输入“MyClass”(或任何真正的类名):
Xcode创建一个名为MyClass_Project.h
的新文件。在此文件中,声明仅限项目的方法:
#import "MyClass.h"
@interface MyClass ()
- (void)foo;
@end
然后,在需要使用其中一种方法的每个.m
文件中,在MyClass.m
中,导入MyClass_Project.h
。导入MyClass_Project.h
的任何文件都不需要导入MyClass.h
。