Утечка памяти на iphone - PullRequest
       3

Утечка памяти на iphone

0 голосов
/ 19 октября 2011

у меня есть этот код vistaPrincipal.h

#import <UIKit/UIKit.h>

@interface vistaPrincipal : UIViewController

@property (retain, nonatomic) 
IBOutlet UIButton *botonHeros;


- (IBAction)botonHeros:(id)sender;

@end

vistaPrincipal.m


#import "vistaStrength.h"
#import "vistaPrincipal.h"



- (void)viewDidLoad

    {


     [super viewDidLoad];

    }

- (void)viewDidUnload
{

    [self setBotonHeros:nil];

    [super viewDidUnload];

}

- (IBAction)botonHeros:(id)sender {

    vistaStrength *vistaStr =[[vistaStrength alloc] initWithNibName:@"vistaStrength" bundle:nil];

    vistaStr.modalTransitionStyle=UIModalTransitionStyleCrossDissolve;
    [self presentModalViewController:vistaStr animated:YES];

    [vistaStr release];


    }

vistaStrength.h


#import <UIKit/UIKit.h>

@interface vistaStrength : UIViewController


@property (retain, nonatomic) IBOutlet UIScrollView *scrollStrength;

@property (retain, nonatomic) IBOutlet UIButton *logoStrength;

@property (retain, nonatomic) IBOutlet UIButton *logoAgility;

@property (retain, nonatomic) IBOutlet UIButton *logoIntelligence;



- (IBAction)botonRegresar:(id)sender;
@end

vistaStrength.m

#import "vistaStrength.h"
#import "vistaPrincipal.h"


- (void)viewDidLoad{

    [super viewDidLoad];

    [scrollStrength setScrollEnabled:YES];
    [scrollStrength setContentSize:CGSizeMake(320,600)];

    }


- (void)viewDidUnload{
    [self setScrollStrength:nil];
    [self setLogoStrength:nil];
    [self setLogoAgility:nil];
    [self setLogoInteligence:nil];

    [super viewDidUnload];

    }

- (void)dealloc{
    [scrollStrength release];
    [logoStrength release];
    [logoAgility release];
    [logoInteligence release];


    [super dealloc];

    }

- (IBAction)botonRegresar:(id)sender{

    vistaPrincipal *primeraVista =[[vistaPrincipal alloc] initWithNibName:@"vistaPrincipal" bundle:nil];

    primeraVista.modalTransitionStyle=UIModalTransitionStyleCrossDissolve;
    [self presentModalViewController:primeraVista animated:YES];


    [primeraVista release];
    }

при переходе этих взглядов я теряю память Что я могу сделать?

1 Ответ

0 голосов
/ 25 октября 2011

Похоже, вы не собираетесь возвращаться к директору перспективы, а выделяете новый его смысл?Таким образом, первый экземпляр vistaPrincipal все еще там, и вместо того, чтобы отклонить vistaStrentgh, вы создаете новый экземпляр поверх этого.Теперь у вас есть 2 основных принципа памяти.Если вы снова зайдете в vista strentgh, у вас будет по 2, а затем 3 - это будет бесконечно.

В принципале vista вместо создания нового принципала vista попробуйте вызвать [self.parentViewController dismissModalViewController].Если вы работаете на ios 5, сделайте [self.presentingViewController dismissModalViewController].

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