2012-01-04 3 views
0

У меня есть кнопка IBACTION, когда кнопка нажата. При нажатии на кнопку открывается новое изображение. При нажатии кнопки im, получая EXC_BAD_ACCESS.i, включен NSZOMBIE, и он показывает последнюю строку в function - (void) homepage могла бы, ребята, помогли мне ... это код.EXC_BAD_ACESS при нажатии кнопки IBAction

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

В первом утверждении в методе 'homepage' вы хотите' alloc' вместо 'new', и вам нужно добавить сообщение' autorelease', чтобы избежать утечки, в результате чего: 'self.newEnterNameController = [[[HomePage alloc ] initWithNibName: @ «Домашняя страница»: [NSBundle mainBundle]] autorelease]; ' – albertamg

+0

cud u gimme небольшой пример того, как это можно сделать. – kingston

+0

'[self presentModalViewController: self.snewEnterNameController animated: YES];' не могли бы вы исправить эту опечатку ('self. * S * new ...') –

ответ

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

[Class new] равно [[Class alloc] init], поэтому вы дважды инициализируете объект. Эта линия должна, вероятно, выглядеть следующим образом:

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

все еще получая EXC_BAD_ACESS – kingston

+0

Я решил проблему, что его просмотр домашней страницы открывается в модальном виде – kingston

0

заменить - (Недействительными) Домашняя страница - (IBAction) Домашняя страница: (ID) отправителя и перелинковать кнопку от интерфейса строителя, или программно в зависимости от кода создания UIButton

+0

все еще получает плохой acess – kingston

0

вместо этого:

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

попробовать как:

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

и подключить к кнопке в интерфейсе builder.Now увидеть результат ,

+0

Вы правы, он должен использовать alloc. .. –

Смежные вопросы