2010-08-16 3 views
0

У меня есть parentViewController, который отклоняет модальное представление, потому что я хочу, чтобы он перезагружал UIPicker в parentViewController. Код действительно довольно прост:Методы делегата

-(void)didDismissFormsView { 

NSUserDefaults *profiles = [NSUserDefaults standardUserDefaults]; 

NSArray *array = [[NSArray alloc]initWithObjects:[profiles stringForKey:@"name1"],[profiles stringForKey:@"name2"],[profiles stringForKey:@"name3"],nil]; 

self.profileData = array; 
[array release]; 

[self dismissModalViewControllerAnimated:YES]; 

}

..И Я знаю, что метод вызывается правильно с модальной точки зрения, потому что я закомментирована последнюю строку (dismissModal ....) и это не позволило бы мне отклонить мнение.

Однако UIPicker не обновляется !!! Если я перезагружаю приложение, тогда UIPicker обновляется, потому что я использую тот же код в методе viewDidLoad. Почему бы тот же самый код не перезагружал его при вызове метода делегата?

ответ

0

Я понял, мой код выше был перезагрузкой данных в массив, но не отображал его. Как только я добавил [сборщик reloadAllComponents], он работал нормально. Сборщик просто нужно было перезагрузить.

0

Поскольку viewDidLoad не вызывается более одного раза в общем случае. Поместите код обновления в viewWillAppear: анимированный: переопределить.

+0

Но код, который я бы хотел вызвать при вызове viewDidLoad, находится прямо там, в этом методе, который я вставил выше. Я просто пытаюсь обновить сборщик, который он должен делать. Я буквально просто скопировал и вставил этот код из секции viewDidLoad. – startuprob

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