iOS5: путаница с переменными loadview, init и instance

Я новичок в iOS5 и раскадровке.

Я заметил, что если я объявляю переменные экземпляра внутри моего файла .h контроллера представления и устанавливаю значения внутри файла инициализации .m моего контроллера представления, то при отображении представления контроллера представления мои переменные экземпляра показывают null внутри viewDidLoad. Чтобы получить свои переменные, мне нужно выполнить [самоиницирование] внутри viewDidLoad. У меня следующие вопросы:

@interface tableViewController : UITableViewController
{
NSMutableArray *myvariable;
}
@end

@implementation tableViewController
-(id)init
{
myvariable = [[NSMutableArray alloc]initWithObjects:@"Hi2",@"Yo2",@"whatsup2", nil];
}

- (void)viewDidLoad
{
NSLog(@"%@",myvariable); // DISPLAYS NULL
[super viewDidLoad];
}
  1. Почему мои переменные недоступны в viewdidLoad, когда я объявил и реализовал в моих файлах .h и .m?
  2. Если это так, то viewDidLoad или viewWillAppear являются общими местами для загрузки данных для the viewcontroller?
  3. Похоже, что даже когда вы создаете экземпляр viewcontroller и вызывается функция init, viewDidLoad не обязательно имеет отображаемые переменные.
  4. Где правильное место / методы для загрузки модели (данных) для моего контроллера представления?

Заранее спасибо

6
задан sonoluminescence 13 November 2011 в 01:47
поделиться