我正在为我的班级编写单元测试。它具有在类扩展中声明的私有属性。现在,我想在单元测试中提供一些这些属性的访问权限,因此我必须将类扩展从实现文件中提取到一个单独的头文件中,我可以在单元测试中导入它。当类扩展与实现(.m)分离时,类扩展的正确文件命名约定是什么?
// MyClass.h
@interface MyClass : NSObject
@end
// MyClass.m
@implementation MyClass
@end
// MyClass+???.h
@interface MyClass()
@property (nonatomic, strong) NSString *myString;
@end
答案 0 :(得分:1)
没有标准。将文件命名为适当的名称。内容应该是“私有”,并且仅用于启用测试,以便这是一个合适的(并且相对标准)名称。
答案 1 :(得分:1)
目标C没有标准的代码约定.Apple的文档只描述了几个简单的时刻。最常见的方法是使用
MyClass_Private.h
用于扩展程序和
MyClass+Private.h
分类。
答案 2 :(得分:1)
通常我在扩展程序是类别时使用MyClass+CategoryName.h
,但如果扩展程序不是类别,那么我将其称为MyClassExtension.h
或MyClass_extensionName.h