2012-01-04 6 views
0

J'ai un bouton IBACtion lorsque le bouton est cliqué.peut ouvrir une nouvelle vue.quand on clique sur le bouton pour obtenir EXC_BAD_ACCESS.j'ai activé NSZOMBIE et qu'il affiche la dernière ligne dans le fonction - (vide) page d'accueil pourrait vous aider les gars .. ci-dessous est le code.EXC_BAD_ACESS lorsque le bouton IBAction est cliqué

splashscreen.h

@interface SplashScreen : UIViewController { 
HomePage *newEnterNameController; 
} 

@property(nonatomic,retain)HomePage *newEnterNameController; 
@end 

splashscreen.m

@implementation SplashScreen 
    @synthesize newEnterNameController; 


     -(void)homepage 
     { 
    self.newEnterNameController = [[HomePage new] initWithNibName:@"HomePage"bundle: 
     [NSBundle mainBundle]]; 
     [newEnterNameController setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal]; 
    [self presentModalViewController:self.newEnterNameController animated:YES]; 
    } 

    - (void)dealloc { 
    [self.newEnterNameController release]; 
     [super dealloc]; 

     } 


@end 
+1

Dans la première instruction de la méthode 'homepage', vous voulez' alloc' au lieu de 'new' et vous devez ajouter un message' autorelease' pour éviter les fuites résultant de: 'self.newEnterNameController = [[[HomePage alloc ] initWithNibName: @ "HomePage" bundle: [NSBundle mainBundle]] autorelease]; ' – albertamg

+0

cud u un petit exemple de la façon dont cela peut être fait. – kingston

+0

'[self presentModalViewController: self.snewEnterNameController animé: YES];' pourriez-vous corriger cette erreur ('self. * S * new ...') –

Répondre

0
self.newEnterNameController = [[HomePage new] initWithNibName:@"HomePage"bundle: [NSBundle mainBundle]]; 

[Class new] est égal à [[Class alloc] init], donc vous initialisez l'objet deux fois. Cette ligne devrait probablement ressembler à ceci:

self.newEnterNameController = [[HomePage alloc] initWithNibName:@"HomePage"bundle: [NSBundle mainBundle]]; 
+0

toujours obtenir EXC_BAD_ACESS – kingston

+0

j'ai figuré le problème de son page d'accueil qui est ouvert dans la vue modale – kingston

0

remplacer - (void) page d'accueil avec - (IBAction) page d'accueil: (id) expéditeur et réassocier le bouton de constructeur d'interface, ou selon votre code programatically sur la création de UIButton

+0

toujours obtenir un mauvais accès – kingston

0

au lieu de ceci:

-(void)homepage 
    { 
self.newEnterNameController = [[HomePage new] initWithNibName:@"HomePage"bundle: 
    [NSBundle mainBundle]]; 
    [newEnterNameController setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal]; 
[self presentModalViewController:self.snewEnterNameController animated:YES]; 
} 

essayer comme:

-(IBAction)homepage 
    { 
self.newEnterNameController = [[[HomePage alloc] initWithNibName:@"HomePage"bundle: 
    [NSBundle mainBundle]]autorelease]; 
    [newEnterNameController setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal]; 
[self presentModalViewController:self.snewEnterNameController animated:YES]; 
} 

et le connecter à votre bouton dans l'interface builder.Now voir le résultat .

+0

vous avez raison, il doit utiliser alloc. .. –

Questions connexes