Выполнение выборки при viewDidLoad
в порядке. Самое главное, где вызываются методы для настройки ваших объектов вида. Исходя из вашего объяснения, выборка данных должна выполняться раньше, поэтому просто убедитесь, что ваши [super viewDidLoad]
или другие методы суперкласса не выполняют никаких настроек представления, прежде чем вы на самом деле получите свои данные.
Итак, организация вашего viewDidLoad
таким образом обеспечит получение и подготовку данных для просмотра:
- (void)viewDidLoad {
[super viewDidLoad] // 0: Make sure you are fully aware of what it's doing.
// 1: Fetch your data
// 2: Customize you view based on fetched data
}
Я использую только loadView
, если я не использую файл пера. Каждый метод из класса viewController
имеет определенную цель, и для вас, чтобы понять архитектуру вашего приложения, и в конечном итоге для других, чтобы понять это, соблюдение соглашения очень полезно. Однако это не применяется, поэтому вы можете делать все, что захотите.
Если вы действительно хотите инициализировать переменные вашего экземпляра отдельно от других объектов представления, я предлагаю вам использовать - (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle
вместо этого.