в App Delegate мне нужно освободить мои «окно» и «navigationController»? - PullRequest
0 голосов
/ 30 мая 2011

В приложении «Делегат» я должен:

  1. нужно освободить мои "окна" и "navigationController"? и
  2. где примерно я должен выпустить его из (a) applicationDidReceiveMemoryWarning и (b) dealloc?

Список кодов

@interface weekendviewerAppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow                        *window;
    UINavigationController          *navigationController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;

@implementation weekendviewerAppDelegate
@synthesize window;
@synthesize navigationController;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    RootViewController *rootViewController = (RootViewController *)[navigationController topViewController];
    rootViewController.managedObjectContext = self.managedObjectContext;
    self.window.rootViewController = self.navigationController;

    // Configure and show the window
    [window addSubview:[navigationController view]];
    [window makeKeyAndVisible];

    return YES;
}


.
.

Ответы [ 2 ]

2 голосов
/ 30 мая 2011

Как прокомментировали часы Bolt, вам нужно добавить метод dealloc в класс appDelegate.

- (void)dealloc {

    [navigationController release];
    [window release];
    [super dealloc];
}
0 голосов
/ 30 мая 2011

Что ж, @greg, если вы когда-нибудь выпустите свой оконный или навигационный контроллер в applicationDidReceiveMemoryWarning Не думаете ли вы, что ваше приложение завершится сбоем, когда ваше приложение получит предупреждение о памяти.

Как сказали @Bolt и @ishu, вам нужно выпускать его только в методах dealloc.

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

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

...