Когда выпустить объекты в приложении панели вкладок? - PullRequest
0 голосов
/ 28 апреля 2011

Это расширение моего вопроса здесь

Вот сценарий:

У меня есть три вкладки, в которых есть переключатель. Когда я касаюсь переключателя, метка обновляется (ВКЛ или ВЫКЛ), и изображение лампы меняется с одного JPG на другой. Поэтому я использую UIImageView, в котором я изменяю UIImage.

#import <UIKit/UIKit.h>
@interface FirstViewController : UIViewController {
    UISwitch *switch1;
    UILabel *status1;
}

@property (nonatomic,retain) IBOutlet UISwitch *switch1;
@property (nonatomic,retain) IBOutlet UILabel *status1;
- (IBAction) switch1Change;
@end

и реализация

#import "FirstViewController.h"
@implementation FirstViewController
@synthesize switch1;
@synthesize status1;
- (IBAction) switch1Change
{
    if (switch1.on) {
        status1.text = @"ON";
        ...
    }
    else {
        status1.text = @"OFF";
        ...
    }
}

Я не могу понять, когда выпустить объекты. Я попытался дать метод [switch1 release] in - (void) dealloc {}. Но когда я переключаю вкладки, приложение вылетает. Как это сделать?

1 Ответ

0 голосов
/ 28 апреля 2011

[switch1 release] в dealloc кажется правильным, какой сбой вы получаете? Это может быть не связано с этим.

Если вы установите точку останова, вы, вероятно, обнаружите, что вкладки не освобождаются; однажды загруженный панелью вкладок он держит их вокруг. Также контроллеры представления для всех вкладок загружаются при запуске.

...