loadView не загружает мои представления должным образом после предупреждения памяти - PullRequest
2 голосов
/ 19 июня 2010

Я установил все подпредставления, которые я создал в loadView, равным nil в viewDidUnload.

Я симулирую предупреждение памяти в симуляторе, и мои закадровые представления и их подпредставления удаляются через viewDidUnload.Однако, когда loadView вызывается снова, когда появляются эти закадровые представления, мои подпредставления не восстанавливаются должным образом во второй раз.Например, мои ярлыки и табличные представления пусты, которые я создал в loadView:

CGRect frame = CGRectMake(0, 0, 400, 600);
UIView *theView = [[UIView alloc] initWithFrame:frame];
self.view = theView;
[theView release];

int w = frame.size.width;
int h = frame.size.height;
CGRect tblFrame = CGRectMake(0, h/10, w, h*7/10);
UITableView *tblvw = [[UITableView alloc] initWithFrame:tblFrame style:UITableViewStylePlain];
tblvw.delegate = self;
tblvw.dataSource = self;
self.resourcesTblVw = tblvw;
[tblvw release];
[self.view addSubview:resourcesTblVw];


CGRect lblFrame = CGRectMake(0, 0, w, 36);
UILabel *lbl = [[UILabel alloc] initWithFrame:lblFrame];
lbl.font = [UIFont boldSystemFontOfSize:20];
lbl.backgroundColor = [UIColor colorWithWhite:0.7 alpha:1.0];
lbl.text = name;
self.nameLabel = lbl;
[lbl release];
[self.view addSubview:nameLabel];

Идеи?

1 Ответ

1 голос
/ 16 января 2011

Первое предположение могло бы состоять в том, что это происходит, потому что во второй раз, код, который выполняется для загрузки данных в viewdidload, отсутствует в методе loadview.поэтому скопируйте код, из которого вы загружаете данные в таблицы и так далее, в метод loadView ...

еще одна вещь, которую вы можете сделать ... предпочтительный вариант - создать метод, такой как

Пример:

-(void)loadData {
//enter code here to load all the tables and so on.

}

Затем вызовите этот метод при загрузке представления ... это должно сработать и вызовите этот метод в методе loadView .... чтобы все загружалось после установки представленийснова после предупреждения памяти.

PK

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...