UILabels не обновляется при первой загрузке представления. - PullRequest
0 голосов
/ 16 июля 2010

У меня есть UITableview s, которые устанавливают UILabel s другого представления в зависимости от выбранной строки.

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

Почему ярлыки не устанавливаются при первом выборе?

У меня есть следующий код:

NSLog(@"object at index 0 is %@", [tempArray2 objectAtIndex:0]);

self.categoryQuoteViewController.aLabel.text = [tempArray2 objectAtIndex:0];
self.categoryQuoteViewController.bLabel.text = [tempArray2 objectAtIndex:1];

NSLog(@"the first label is %@",self.categoryQuoteViewController.aLabel.text);

Первый NSLog печатает значение, затем сразу после его установки и печати значения метки это null.

1 Ответ

1 голос
/ 16 июля 2010

Проблема в том, что представление categoryQuoteViewController загружается лениво, что означает, что ни одна из ваших меток не будет загружена, пока вы впервые не отобразите представление на экране. Поэтому, когда вы впервые получите доступ к categoryQuoteViewController.aLabel, это будет nil.

Вы можете принудительно загрузить представление, открыв свойство view в контроллере представления следующим образом:

/* Force the view to load so we can set the labels */
categoryQuoteViewController.view;
...