Objective-C中类扩展的正确文件命名约定是什么?

时间:2014-02-22 08:41:47

标签: objective-c unit-testing

我正在为我的班级编写单元测试。它具有在类扩展中声明的私有属性。现在,我想在单元测试中提供一些这些属性的访问权限,因此我必须将类扩展从实现文件中提取到一个单独的头文件中,我可以在单元测试中导入它。当类扩展与实现(.m)分离时,类扩展的正确文件命名约定是什么?

// MyClass.h
@interface MyClass : NSObject
@end

// MyClass.m
@implementation MyClass
@end

// MyClass+???.h
@interface MyClass()

@property (nonatomic, strong) NSString *myString;

@end

3 个答案:

答案 0 :(得分:1)

没有标准。将文件命名为适当的名称。内容应该是“私有”,并且仅用于启用测试,以便这是一个合适的(并且相对标准)名称。

答案 1 :(得分:1)

目标C没有标准的代码约定.Apple的文档只描述了几个简单的时刻。最常见的方法是使用

MyClass_Private.h

用于扩展程序和

MyClass+Private.h

分类。

答案 2 :(得分:1)

通常我在扩展程序是类别时使用MyClass+CategoryName.h,但如果扩展程序不是类别,那么我将其称为MyClassExtension.hMyClass_extensionName.h