当我使用简单界面的 UIViewController 时,考虑一个示例:
@interface MainViewController : UIViewController
@end
当它接收到 viewDidLoad 或 viewDidAppear 消息时,它会创建并放置额外的视图。
当对它进行单元测试时,我想模拟这些视图,所以我需要将接口更改为:
@interface MainViewController : UIViewController
@property (nonatomic) UIView *additionalView1
@property (nonatomic) UIView *additionalView2
@end
通过这样做,我将创建额外视图的责任转移到调用方,在我看来,这会破坏封装。
我怎样才能避免暴露这么多控制器内部?