我有一个compex UIViewController(及相关视图)。它由几个具有自己的视图控制器的子视图组成。 (例如,很少有UITableViewController子类,自定义ViewContorllers等。)。
您认为在根视图(而不是视图控制器类)中存储子视图控制器的引用是一个很好的决定。 我正在构建根视图类中的视图结构,就像那样(添加view / viewcontroller的几种方法之一):
- (void)addCaroucel
{
_caroucelViewController = [[CaroucelTableViewController alloc] init];
_caroucelViewController.caroucelView.delegate = self;
[self addSubview:_caroucelViewController.caroucelView];
}
我知道控制器应该在主控制器中,但同时这就像视图的内部实现一样,我不想用主视图控制器来公开它。我认为视图层次结构应该在视图类中构建,而不是在视图控制器中构建。
你看到了更好的解决方案吗?
答案 0 :(得分:0)
我认为更好的解决方案是:
一个ViewController用于一个屏幕。所有tableViews,按钮,视图等......都有一个共同的委托 - 这个viewController。不要尝试将某些控制器的逻辑分开。您尝试添加另一个视图控制器,因为您已经分开了。
在我看来,我也知道两种不好的方式,在这种情况下它们并不那么简单: