В настоящее время я работаю над проектом ipad и нашел это. так вот моя структураПочему память все еще держится, когда я удаляю из памяти?
я подклассы UIViewController, как customizedVC, как этот
@protocol customizedVCDelegate
-(void)viewclosed:(UIView *)view oldviewcontroller:(UIViewController *)oldvc newvcname:(UIViewController *)newvc;
@end
@interface customizedVC : UIViewController {
id <customizedVCDelegate> delegate;
}
@property (assign) id <customizedVCDelegate> delegate;
@end
в demoipadappDelegate, что является основой для переключения представлений, я взял протокол и реализовал viewclosed функции. У меня много просмотров, каждый вид будет загружен из nib. поэтому я загрузить первый в demoipadappDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//loading openvinview
openingVC *vc = [[openingVC alloc] initWithNibName:@"openingview" bundle:nil];
vc.delegate = self;
[window addSubview:vc.view];
[window makeKeyAndVisible];
return YES;
}
для переключения между видами, я буду стрелять viewClosed в каждом ViewController. например, я получил VC1 и хочу переключиться на VC2. Я запускаю viewClosed в vc1. и поскольку делегат vc1 является demoipadappDelegate, infact все делегат vc является demoipadappDelegate. поэтому demoipadappDelegate получит событие и сделает это. это находится в demoipadappDelegate
-(void)viewclosed:(UIView *)view oldviewcontroller:(UIViewController *)oldvc newvcname:(UIViewController *)newvc;
{
self.currentVC = (customizedVC *)newvc;
self.currentVC.delegate = self;
[window addSubview:self.currentVC.view];
[view removeFromSuperview];
[oldvc release];
}
Я ожидал, что использование памяти исчезнет. это не так. Я также проверил, что в каждом vc я уже вручную освобождаю все, что я выделяю. так что это не так.
жаль мой бедный английский, я надеюсь, что я объяснил достаточно ясно
Да, корпус был прав, не вызванный орфографией, но спасибо в любом случае – shawhu