我正在爲我的班級寫單元測試。它具有在類擴展中聲明的私有屬性。現在,我想在單元測試中提供對這些屬性的訪問權限,因此我必須將實現文件中的類擴展提取到可以在單元測試中導入的單獨頭文件中。類擴展與實現(.m)分離時,適當的文件命名約定是什麼?什麼是Objective-C中類擴展的正確文件命名約定?
// MyClass.h
@interface MyClass : NSObject
@end
// MyClass.m
@implementation MyClass
@end
// MyClass+???.h
@interface MyClass()
@property (nonatomic, strong) NSString *myString;
@end
你爲什麼會分開實施延期?在頭文件中聲明一些公開的東西是非常常見的,然後在實現文件上方聲明實現文件中所需的所有其他東西。如果你需要一些額外的公共API,你最好使用類別。 – Danchoys
@Danchoys我只想在單元測試中找到這些屬性。因此,如果我宣佈它們是公開的,那麼它會破壞API設計,只是因爲我會從測試中獲得它們。 – vbali