Нужно ли освобождать память View с помощью IBOutlets? - PullRequest
0 голосов
/ 20 марта 2012

Я новичок в разработке приложений для iphone, здесь у меня есть одно сомнение в решении проблем с памятью моего приложения, я перетаскиваю UIWebview с помощью IB, после этого я создал IBOutlet для этого веб-просмотра .. необходимо освободить память оэто веб-просмотр после использования ... может ли кто-нибудь помочь мне ...

в .h

IBOutlet UIWebView *webview;

в .m

- (void)viewDidLoad
{


webview.backgroundColor=[UIColor whiteColor];
NSURL *targetURL = [NSURL fileURLWithPath:[self request]];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webview loadRequest:request];
webview.opaque=YES;
webview.scalesPageToFit=YES;

[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
}

, если это необходимоосвободить память, используемую webview, где я могу ее освободить ... Спасибо ...

Ответы [ 3 ]

1 голос
/ 20 марта 2012

Если вы не включили ARC, то ответ ДА, необходимо выпустить IBOutlets

в каком месте я могу его выпустить?

Вы можете освободить эти объекты в методе dealloc, а также рекомендуется установить nil для этих объектов в viewDidUnload

-(void)dealloc
{
   [self.webview release];
   [super dealloc];
}

-(void)viewDidUnload
{
   [super viewDidUnload];
   self.webview = nil;
}
1 голос
/ 20 марта 2012

Из Руководство по программированию ресурсов ,

Объекты в файле пера создаются с счетом сохранения 1 и затем автоматически высвобождаются.По мере перестройки иерархии объектов UIKit восстанавливает соединения между объектами, используя setValue: forKey :, который использует доступный метод установки или сохраняет объект по умолчанию, если метод установки недоступен.

Не то чтобыДоступный метод установки, как правило, сохраняется.Поэтому, если вы не используете ARC, вам нужно выпустить IBOutlets.Одно подходящее место для освобождения - метод dealloc.

0 голосов
/ 20 марта 2012

Если у вас есть @property (nonatomic, retain)IBOutlet UIWebView *webview; и вы синтезируете его в .m file, вам придется явно освободить память вашего веб-представления

Вы должны обратиться Политика управления памятью

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