0

我正在使用 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 只创建一次,这样我就可以提高效率

问候兰吉特。

4

1 回答 1

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];
}
于 2013-12-14T08:19:55.717 回答