Xcode为新的Objective-C测试用例生成此模板代码。为什么它不生成头文件并将@interface
放在实现文件中?
#import <XCTest/XCTest.h>
@interface BYObjCTest : XCTestCase
@end
@implementation BYObjCTest
// test methods
@end
这个结构如何调用?这是私人班级吗?通常不需要从用户代码外部调用测试用例,这是以这种方式生成的原因吗?
答案 0 :(得分:3)
在.m文件中使用接口ClassName:Superclass块(称为类声明块)是可以的。
在Header(.h)文件中声明一个类更常见,因为它需要公开的类(将在其他类中使用的类),但如果您的类不打算使用在.m文件的外部,可以将声明和实现放在同一个.m或.mm文件中。
例如,在TestClass的测试中,它们不会在其他任何地方使用,因此不需要标题。
其他语言会称这些私人课程。 objC中的私有类没有.h文件:)