如何使用AddChildViewController提高效率

时间:2013-12-14 07:07:08

标签: ios ios7 viewdidload childviewcontroller

我正在使用AddChildViewController并添加一个CalendarViewController,这里是添加它的代码

- (void)calButtonClicked
{
        m_calViewController = [[CalendarViewController alloc]initWithNibName:@"CalendarViewController" bundle:nil];
        [self addChildViewController:m_calViewController];
        [[self view] addSubview:[m_calViewController view]];
        [m_calViewController didMoveToParentViewController:self];
}

现在这个CalendarViewController我有一个创建calendarUI的函数,我已经用

编写了它
- (void)viewDidLoad
{
      [self createCalendarUI];
}

现在每当我点击按钮打开这个ViewController时,每次都会调用viewDidLoad方法,并且创建UI需要一些时间。因此,我的应用程序变得越来越慢。

他们的任何方式都是如此,以便我的UI只创建一次,这样我就可以提高效率

此致 兰吉特。

1 个答案:

答案 0 :(得分:0)

如果您只想重复使用CalendarViewController

尝试重复使用CalendarViewController的视图,不要每次都在CalendarViewController中分配calButtonClicked

- (void)calButtonClicked
{
    if(!m_calViewController){
        m_calViewController = [[CalendarViewController alloc]initWithNibName:@"CalendarViewController" bundle:nil];
        [self addChildViewController:m_calViewController];
        }
    [[self view] addSubview:[m_calViewController view]];
    [m_calViewController didMoveToParentViewController:self];
}