我试图在另一个viewController(view2)中显示一个模态视图控制器(view1)
@interface View1 : UIViewController
@property (weak) id delegate;
- (IBAction)closeButtonTapped:(id)sender ;
@end
@protocol View1Delegates <NSObject>
@optional
- (void)viewControllerDidFinish: (View1 *) viewController;
@end
@implementation View1
-(void)dealloc
{
}
- (void)viewDidLoad {
}
- (IBAction)closeButtonTapped:(id)sender {
[self.delegate viewControllerDidFinish:self];
}
@end
我在view2中使用以下代码
@implementation View2
- (void)viewDidLoad {
[super viewDidLoad];
}
- (IBAction)onOpenView1Tapped:(id)sender
{
View1 *view1 = [self.storyboard instantiateViewControllerWithIdentifier:@"view1"];
NavViewController *nav = [[NavViewController alloc] initWithRootViewController:view1];
view1.delegate = self;
[self presentViewController:nav animated:NO completion:NULL];
}
- (void) viewControllerDidFinish: (View1 *) viewController
{
[self dismissViewControllerAnimated:NO completion:NULL];
}
问题是NavViewController调用了它的dealloc方法,但是在解除后,view1根本不会调用它。这意味着view1将保留在内存中。 如何释放view1的内存?