2013-12-14 3 views
0

Я использую AddChildViewController и добавив CalendarViewController, вот код, чтобы добавить егоКак повысить эффективность с AddChildViewController

- (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 вызывается каждый раз, и для создания пользовательского интерфейса требуется время. И из-за этого мое приложение становится медленным.

Так их любым способом, так что мой интерфейс создается только один раз, так что я могу улучшить эффективность

С уважением Ранджит.

ответ

0

, если вы просто хотите использовать CalendarViewController

вид повторного использования попытка CalendarViewController и не Alloc 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]; 
} 
+0

Я не могу сделать это, потому что у меня есть 2 кнопки, так что, когда я нажимаю на другую кнопку, я должен удалить его, так как он добавляется как подвид – Ranjit

+0

я имею в виду ставить 'если (! M_calViewController) {// назначьте свой CalendarViewController} ', чтобы снова отключить CalendarViewController. – johnMa

+0

Хорошо, я попробую и вернусь к вам – Ranjit

Смежные вопросы