Два классических места для размещения кода - методы init и loadView контроллера представления. Т.е.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Put DB code here
}
return self;
}
или
- (void)loadView
{
[super loadView];
// Put DB code here
}
Выбор будет зависеть от того, что вы делаете с данными.
Если данные будут отображаться в элементах пользовательского интерфейса из файла NIB, вы должны быть немного осторожны, так как эти элементы вряд ли будут существовать при запуске метода init
. Таким образом, присвоение данных БД элементам пользовательского интерфейса в init
может привести к программе, которая выглядит правильно и компилируется, но не отображает ничего на дисплее (это было сделано!). Поэтому вам лучше отложить данные БД до loadView
огонь.
Если данные сразу не нужны на экране (или требуются по другим причинам, не связанным с отображением), вы можете загрузить их методом init
. Но предостережение заключается в том, что вы теперь расходуете память на вещи, которые могут никогда не отображаться, - таким образом, побеждая любую ленивую загрузку во время метода loadView
.
Но все зависит от личных предпочтений.