iphone;когда выпустить представление, когда из него получено несколько копий? - PullRequest
0 голосов
/ 07 декабря 2010

Это мой сценарий У меня есть основной вид, в котором создаются несколько копий подпредставления. Вот как я это делаю 1. В главном окне я создал переменную для подпредставления 2. создал несколько копий подпредставления и отобразил их в прокручиваемом виде, который отлично работает 3. Когда будет подходящее время для выпуска переменной subview?

Объявление Subview SubView * svm;

svm=[[SubView alloc] initWithNib:@"SubView" bundle:nil]
//Show svm here
// am not releasing svm here
svm=[[SubView alloc] initWithNib:@"SubView" bundle:nil]
//Show svm here
// am not releasing svm here
svm=[[SubView alloc] initWithNib:@"SubView" bundle:nil]
//Show svm here
// am not releasing svm here

Я не уверен, что это правильный путь, но он работает хорошо.

Если я выпущу svm в dealloc mainview, это будет хорошо? Как я должен идти об этом?

Спасибо Veeru

1 Ответ

1 голос
/ 07 декабря 2010

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

svm=[[SubView alloc] initWithNib:@"SubView" bundle:nil]
//Show svm here
[svm release];

svm=[[SubView alloc] initWithNib:@"SubView" bundle:nil]
//Show svm here

[svm release];
svm=[[SubView alloc] initWithNib:@"SubView" bundle:nil]
//Show svm here
[svm release];

Кстати, когда вы добавляете svm в качестве подпредставления в другое представление, оно сохраняется в его супер-представлении, и вы можете безопасно отключить его, если оно большедолжен быть доступен напрямую через ваш код.

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